docs: convert articles to reructuredtext
[mesa.git] / docs / intro.html
diff --git a/docs/intro.html b/docs/intro.html
deleted file mode 100644 (file)
index 0afd55c..0000000
+++ /dev/null
@@ -1,404 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="en">
-<head>
-  <meta http-equiv="content-type" content="text/html; charset=utf-8">
-  <title>Introduction</title>
-  <link rel="stylesheet" type="text/css" href="mesa.css">
-</head>
-<body>
-
-<div class="header">
-  The Mesa 3D Graphics Library
-</div>
-
-<iframe src="contents.html"></iframe>
-<div class="content">
-
-<h1>Introduction</h1>
-
-<p>
-The Mesa project began as an open-source implementation of the
-<a href="https://www.opengl.org/">OpenGL</a> specification -
-a system for rendering interactive 3D graphics.
-</p>
-
-<p>
-Over the years the project has grown to implement more graphics APIs,
-including
-<a href="https://www.khronos.org/opengles/">OpenGL ES</a> (versions 1, 2, 3),
-<a href="https://www.khronos.org/opencl/">OpenCL</a>,
-<a href="https://www.khronos.org/openmax/">OpenMAX</a>,
-<a href="https://en.wikipedia.org/wiki/VDPAU">VDPAU</a>,
-<a href="https://en.wikipedia.org/wiki/Video_Acceleration_API">VA API</a>,
-<a href="https://en.wikipedia.org/wiki/X-Video_Motion_Compensation">XvMC</a> and
-<a href="https://www.khronos.org/vulkan/">Vulkan</a>.
-</p>
-
-<p>
-A variety of device drivers allows the Mesa libraries to be used in many
-different environments ranging from software emulation to complete hardware
-acceleration for modern GPUs.
-</p>
-
-<p>
-Mesa ties into several other open-source projects: the
-<a href="https://dri.freedesktop.org/">Direct Rendering
-Infrastructure</a> and <a href="https://x.org">X.org</a> to
-provide OpenGL support on Linux, FreeBSD and other operating
-systems.
-</p>
-
-
-
-<h2>Project History</h2>
-
-<p>
-The Mesa project was originally started by Brian Paul.
-Here's a short history of the project.
-</p>
-
-<p>
-August, 1993: I begin working on Mesa in my spare time.  The project
-has no name at that point.  I was simply interested in writing a simple
-3D graphics library that used the then-new OpenGL API.  I was partially
-inspired by the <em>VOGL</em> library which emulated a subset of IRIS GL.
-I had been programming with IRIS GL since 1991.
-</p>
-
-<p>
-November 1994: I contact SGI to ask permission to distribute my OpenGL-like
-graphics library on the internet.  SGI was generally receptive to the
-idea and after negotiations with SGI's legal department, I get permission
-to release it.
-</p>
-
-<p>
-February 1995: Mesa 1.0 is released on the internet.  I expected that
-a few people would be interested in it, but not thousands.
-I was soon receiving patches, new features and thank-you notes on a
-daily basis.  That encouraged me to continue working on Mesa.  The
-name Mesa just popped into my head one day.  SGI had asked me not to use
-the terms <em>"Open"</em> or <em>"GL"</em> in the project name and I didn't
-want to make up a new acronym.  Later, I heard of the Mesa programming
-language and the Mesa spreadsheet for NeXTStep.
-</p>
-
-<p>
-In the early days, OpenGL wasn't available on too many systems.
-It even took a while for SGI to support it across their product line.
-Mesa filled a big hole during that time.
-For a lot of people, Mesa was their first introduction to OpenGL.
-I think SGI recognized that Mesa actually helped to promote
-the OpenGL API, so they didn't feel threatened by the project.
-</p>
-
-
-<p>
-1995-1996: I continue working on Mesa both during my spare time and during
-my work hours at the Space Science and Engineering Center at the University
-of Wisconsin in Madison.  My supervisor, Bill Hibbard, lets me do this because
-Mesa is now being using for the <a href="https://www.ssec.wisc.edu/%7Ebillh/vis.html">Vis5D</a> project.
-</p><p>
-October 1996: Mesa 2.0 is released.  It implements the OpenGL 1.1 specification.
-</p>
-
-<p>
-March 1997: Mesa 2.2 is released.  It supports the new 3dfx Voodoo graphics
-card via the Glide library.  It's the first really popular hardware OpenGL
-implementation for Linux.
-</p>
-
-<p>
-September 1998: Mesa 3.0 is released.  It's the first publicly-available
-implementation of the OpenGL 1.2 API.
-</p>
-
-<p>
-March 1999: I attend my first OpenGL ARB meeting.  I contribute to the
-development of several official OpenGL extensions over the years.
-</p>
-
-<p>
-September 1999: I'm hired by Precision Insight, Inc.  Mesa is a key
-component of 3D hardware acceleration in the new DRI project for XFree86.
-Drivers for 3dfx, 3dLabs, Intel, Matrox and ATI hardware soon follow.
-</p>
-
-<p>
-October 2001: Mesa 4.0 is released.
-It implements the OpenGL 1.3 specification.
-</p>
-
-
-<p>
-November 2001: I cofounded Tungsten Graphics, Inc. with Keith Whitwell,
-Jens Owen, David Dawes and Frank LaMonica.
-Tungsten Graphics was acquired by VMware in December 2008.
-</p>
-
-<p>
-November 2002: Mesa 5.0 is released.
-It implements the OpenGL 1.4 specification.
-</p>
-
-<p>
-January 2003: Mesa 6.0 is released.  It implements the OpenGL 1.5
-specification as well as the GL_ARB_vertex_program and
-GL_ARB_fragment_program extensions.
-</p>
-
-<p>
-June 2007: Mesa 7.0 is released, implementing the OpenGL 2.1 specification
-and OpenGL Shading Language.
-</p>
-
-<p>
-2008: Keith Whitwell and other Tungsten Graphics employees develop
-<a href="https://en.wikipedia.org/wiki/Gallium3D">Gallium</a>
-- a new GPU abstraction layer.  The latest Mesa drivers are based on
-Gallium and other APIs such as OpenVG are implemented on top of Gallium.
-</p>
-
-<p>
-February 2012: Mesa 8.0 is released, implementing the OpenGL 3.0 specification
-and version 1.30 of the OpenGL Shading Language.
-</p>
-
-<p>
-July 2016: Mesa 12.0 is released, including OpenGL 4.3 support and initial
-support for Vulkan for Intel GPUs.  Plus, there's another gallium software
-driver ("swr") based on LLVM and developed by Intel.
-</p>
-
-<p>
-Ongoing: Mesa is the OpenGL implementation for devices designed by
-Intel, AMD, NVIDIA, Qualcomm, Broadcom, Vivante, plus the VMware and
-VirGL virtual GPUs.
-There's also several software-based renderers: swrast (the legacy
-Mesa rasterizer), softpipe (a gallium reference driver), llvmpipe
-(LLVM/JIT-based high-speed rasterizer) and swr (another LLVM-based driver).
-</p>
-<p>
-Work continues on the drivers and core Mesa to implement newer versions
-of the OpenGL, OpenGL ES and Vulkan specifications.
-</p>
-
-
-
-<h2>Major Versions</h2>
-
-<p>
-This is a summary of the major versions of Mesa.
-Mesa's major version number has been incremented whenever a new version
-of the OpenGL specification is implemented.
-</p>
-
-
-<h3>Version 12.x features</h3>
-<p>
-Version 12.x of Mesa implements the OpenGL 4.3 API, but not all drivers
-support OpenGL 4.3.
-</p>
-<p>
-Initial support for Vulkan is also included.
-</p>
-
-
-<h3>Version 11.x features</h3>
-<p>
-Version 11.x of Mesa implements the OpenGL 4.1 API, but not all drivers
-support OpenGL 4.1.
-</p>
-
-
-<h3>Version 10.x features</h3>
-<p>
-Version 10.x of Mesa implements the OpenGL 3.3 API, but not all drivers
-support OpenGL 3.3.
-</p>
-
-
-<h3>Version 9.x features</h3>
-<p>
-Version 9.x of Mesa implements the OpenGL 3.1 API.
-While the driver for Intel Sandy Bridge and Ivy Bridge is the only
-driver to support OpenGL 3.1, many developers across the open-source
-community contributed features required for OpenGL 3.1.  The primary
-features added since the Mesa 8.0 release are
-GL_ARB_texture_buffer_object and GL_ARB_uniform_buffer_object.
-</p>
-<p>
-Version 9.0 of Mesa also included the first release of the Clover state
-tracker for OpenCL.
-</p>
-
-
-<h3>Version 8.x features</h3>
-<p>
-Version 8.x of Mesa implements the OpenGL 3.0 API.
-The developers at Intel deserve a lot of credit for implementing most
-of the OpenGL 3.0 features in core Mesa, the GLSL compiler as well as
-the i965 driver.
-</p>
-
-
-<h3>Version 7.x features</h3>
-<p>
-Version 7.x of Mesa implements the OpenGL 2.1 API.  The main feature
-of OpenGL 2.x is the OpenGL Shading Language.
-</p>
-
-
-<h3>Version 6.x features</h3>
-<p>
-Version 6.x of Mesa implements the OpenGL 1.5 API with the following
-extensions incorporated as standard features:
-</p>
-<ul>
-<li>GL_ARB_occlusion_query
-<li>GL_ARB_vertex_buffer_object
-<li>GL_EXT_shadow_funcs
-</ul>
-<p>
-Also note that several OpenGL tokens were renamed in OpenGL 1.5
-for the sake of consistency.
-The old tokens are still available.
-</p>
-<pre>
-New Token                   Old Token
-------------------------------------------------------------
-GL_FOG_COORD_SRC            GL_FOG_COORDINATE_SOURCE
-GL_FOG_COORD                GL_FOG_COORDINATE
-GL_CURRENT_FOG_COORD        GL_CURRENT_FOG_COORDINATE
-GL_FOG_COORD_ARRAY_TYPE     GL_FOG_COORDINATE_ARRAY_TYPE
-GL_FOG_COORD_ARRAY_STRIDE   GL_FOG_COORDINATE_ARRAY_STRIDE
-GL_FOG_COORD_ARRAY_POINTER  GL_FOG_COORDINATE_ARRAY_POINTER
-GL_FOG_COORD_ARRAY          GL_FOG_COORDINATE_ARRAY
-GL_SRC0_RGB                 GL_SOURCE0_RGB
-GL_SRC1_RGB                 GL_SOURCE1_RGB
-GL_SRC2_RGB                 GL_SOURCE2_RGB
-GL_SRC0_ALPHA               GL_SOURCE0_ALPHA
-GL_SRC1_ALPHA               GL_SOURCE1_ALPHA
-GL_SRC2_ALPHA               GL_SOURCE2_ALPHA
-</pre>
-<p>
-See the
-<a href="https://www.opengl.org/documentation/spec.html">
-OpenGL specification</a> for more details.
-</p>
-
-
-
-<h3>Version 5.x features</h3>
-<p>
-Version 5.x of Mesa implements the OpenGL 1.4 API with the following
-extensions incorporated as standard features:
-</p>
-<ul>
-<li>GL_ARB_depth_texture
-<li>GL_ARB_shadow
-<li>GL_ARB_texture_env_crossbar
-<li>GL_ARB_texture_mirror_repeat
-<li>GL_ARB_window_pos
-<li>GL_EXT_blend_color
-<li>GL_EXT_blend_func_separate
-<li>GL_EXT_blend_logic_op
-<li>GL_EXT_blend_minmax
-<li>GL_EXT_blend_subtract
-<li>GL_EXT_fog_coord
-<li>GL_EXT_multi_draw_arrays
-<li>GL_EXT_point_parameters
-<li>GL_EXT_secondary_color
-<li>GL_EXT_stencil_wrap
-<li>GL_EXT_texture_lod_bias (plus, a per-texture LOD bias parameter)
-<li>GL_SGIS_generate_mipmap
-</ul>
-
-
-<h3>Version 4.x features</h3>
-
-<p>
-Version 4.x of Mesa implements the OpenGL 1.3 API with the following
-extensions incorporated as standard features:
-</p>
-
-<ul>
-<li>GL_ARB_multisample
-<li>GL_ARB_multitexture
-<li>GL_ARB_texture_border_clamp
-<li>GL_ARB_texture_compression
-<li>GL_ARB_texture_cube_map
-<li>GL_ARB_texture_env_add
-<li>GL_ARB_texture_env_combine
-<li>GL_ARB_texture_env_dot3
-<li>GL_ARB_transpose_matrix
-</ul>
-
-<h3>Version 3.x features</h3>
-
-<p>
-Version 3.x of Mesa implements the OpenGL 1.2 API with the following
-features:
-</p>
-<ul>
-<li>BGR, BGRA and packed pixel formats
-<li>New texture border clamp mode
-<li>glDrawRangeElements()
-<li>standard 3-D texturing
-<li>advanced MIPMAP control
-<li>separate specular color interpolation
-</ul>
-
-
-<h3>Version 2.x features</h3>
-<p>
-Version 2.x of Mesa implements the OpenGL 1.1 API with the following
-features.
-</p>
-<ul>
-<li>Texture mapping:
-  <ul>
-  <li>glAreTexturesResident
-  <li>glBindTexture
-  <li>glCopyTexImage1D
-  <li>glCopyTexImage2D
-  <li>glCopyTexSubImage1D
-  <li>glCopyTexSubImage2D
-  <li>glDeleteTextures
-  <li>glGenTextures
-  <li>glIsTexture
-  <li>glPrioritizeTextures
-  <li>glTexSubImage1D
-  <li>glTexSubImage2D
-  </ul>
-<li>Vertex Arrays:
-  <ul>
-  <li>glArrayElement
-  <li>glColorPointer
-  <li>glDrawElements
-  <li>glEdgeFlagPointer
-  <li>glIndexPointer
-  <li>glInterleavedArrays
-  <li>glNormalPointer
-  <li>glTexCoordPointer
-  <li>glVertexPointer
-  </ul>
-<li>Client state management:
-  <ul>
-  <li>glDisableClientState
-  <li>glEnableClientState
-  <li>glPopClientAttrib
-  <li>glPushClientAttrib
-  </ul>
-<li>Misc:
-  <ul>
-  <li>glGetPointer
-  <li>glIndexub
-  <li>glIndexubv
-  <li>glPolygonOffset
-  </ul>
-</ul>
-
-</div>
-</body>
-</html>