Initial revision
diff --git a/progs/xdemos/vtest.c b/progs/xdemos/vtest.c
new file mode 100644
index 0000000..f0900b6
--- /dev/null
+++ b/progs/xdemos/vtest.c
@@ -0,0 +1,83 @@
+/* $Id: vtest.c,v 1.1 1999/08/19 00:55:43 jtg Exp $ */
+
+/*
+ * Test SVGA/Mesa interface in 32K color mode.
+ *
+ * Compile with:  gcc vtest.c -I../include -L../lib -lMesaGL -lX11 -lXext
+ *   -lvga -lm -o vtest
+ *
+ * This program is in the public domain.
+ * Brian Paul, January 1996
+ */
+
+
+
+#include <vga.h>
+#include "GL/svgamesa.h"
+#include "GL/gl.h"
+
+
+SVGAMesaContext vmc;
+
+
+
+void setup( void )
+{
+   vga_init();
+
+   vga_setmode(G800x600x32K);
+/*   gl_setcontextvga(G800x600x32K);*/
+
+   vmc = SVGAMesaCreateContext( GL_FALSE );  /* single buffered */
+   SVGAMesaMakeCurrent( vmc );
+}
+
+
+void test( void )
+{
+   glMatrixMode(GL_PROJECTION);
+   glLoadIdentity();
+   glOrtho( -1.0, 1.0, -1.0, 1.0, -1.0, 1.0 );
+   glMatrixMode(GL_MODELVIEW);
+
+   glClear( GL_COLOR_BUFFER_BIT );
+
+   glBegin( GL_LINES );
+   glColor3f( 1.0, 0.0, 0.0 );
+   glVertex2f( -0.5, 0.5 );
+   glVertex2f(  0.5, 0.5 );
+   glColor3f( 0.0, 1.0, 0.0 );
+   glVertex2f( -0.5, 0.25 );
+   glVertex2f(  0.5, 0.25 );
+   glColor3f( 0.0, 0.0, 1.0 );
+   glVertex2f( -0.5, 0.0 );
+   glVertex2f(  0.5, 0.0 );
+   glEnd();
+
+   glBegin( GL_POLYGON );
+   glColor3f( 1.0, 0.0, 0.0 );
+   glVertex2f( 0.0, 0.7 );
+   glColor3f( 0.0, 1.0, 0.0 );
+   glVertex2f( -0.5, -0.5 );
+   glColor3f( 0.0, 0.0, 1.0 );
+   glVertex2f(  0.5, -0.5 );
+   glEnd();
+
+   sleep(3);
+}
+
+void end( void )
+{
+   SVGAMesaDestroyContext( vmc );
+
+   vga_setmode( TEXT );
+}
+
+
+int main( int argc, char *argv[] )
+{
+   setup();
+   test();
+   end();
+   return 0;
+}