diff options
| -rw-r--r-- | docs/contents.html | 1 | ||||
| -rw-r--r-- | docs/sourcetree.html | 165 | 
2 files changed, 166 insertions, 0 deletions
| diff --git a/docs/contents.html b/docs/contents.html index d15e6c1e33..674bbae3b0 100644 --- a/docs/contents.html +++ b/docs/contents.html @@ -65,6 +65,7 @@ a:visited {  <ul>  <li><a href="http://sourceforge.net/projects/mesa3d" target="_parent">SourceForge homepage</a>  <li><a href="repository.html" target="MainFrame">Source Code Repository</a> +<li><a href="sourcetree.html" target="MainFrame">Source Code Tree</a>  <li><a href="memory.html" target="MainFrame">DRI Memory Management</a>  <li><a href="shading.html" target="MainFrame">Shading Language</a>  <li><a href="glu.html" target="MainFrame">SGI's GLU</a> diff --git a/docs/sourcetree.html b/docs/sourcetree.html new file mode 100644 index 0000000000..bc4ce71bee --- /dev/null +++ b/docs/sourcetree.html @@ -0,0 +1,165 @@ +<HTML> + +<TITLE>Mesa Source Tree</TITLE> + +<link rel="stylesheet" type="text/css" href="mesa.css"></head> + +<BODY> + +<h1>Mesa source code tree overview</h1> + +<p> +This is a brief summary of Mesa's directory tree and what's contained in +each directory. +</p> + + +<ul> +<li><b>docs</b> - Documentation +<li><b>include</b> - Public OpenGL header files +<li><b>src</b> +  <ul> +  <li><b>egl</b> - EGL library sources +    <ul> +    <li><b>docs</b> - EGL documentation +    <li><b>drivers</b> - EGL drivers +    <li><b>main</b> - main EGL library implementation.  This is where all +        the EGL API functions are implemented, like eglCreateContext(). +    </ul> +  <li><b>mesa</b> - Main Mesa sources +    <ul> +    <li><b>glapi</b> - OpenGL API dispatch layer.  This is where all the +        GL entrypoints like glClear, glBegin, etc. are generated, as well as +        the GL dispatch table.  All GL function calls jump through the +        dispatch table to functions found in main/. +    <li><b>main</b> - The core Mesa code (mainly state management) +    <li><b>drivers</b> - Mesa drivers (not used with Gallium) +        <ul> +	<li><b>common</b> - code which may be shared by all drivers +        <li><b>dri</b> - Direct Rendering Infrastructure drivers +           <ul> +	   <li><b>common</b> - code shared by all DRI drivers +	   <li><b>i915</b> - driver for Intel i915/i945 +	   <li><b>i965</b> - driver for Intel i965 +	   <li>XXX more +           </ul> +        <li><b>x11</b> - Xlib-based software driver +        <li><b>osmesa</b> - off-screen software driver +	<li><b>glslcompiler</b> - a stand-alone GLSL compiler driver +        <li>XXX more +        </ul> +    <li><b>math</b> - vertex array translation and transformation code +        (not used with Gallium) +    <li><b>ppc</b> - Assembly code/optimizations for PPC systems +        (not used with Gallium) +    <li><b>shader</b> - Vertex/fragment shader and GLSL compiler code +    <li><b>sparc</b> - Assembly code/optimizations for SPARC systems +        (not used with Gallium) +    <li><b>state_tracker</b> - State tracker / driver for Gallium.  This +        is basically a Mesa device driver that speaks to Gallium.  This +        directory may be moved to src/mesa/drivers/gallium at some point. +    <li><b>swrast</b> - Software rasterization module.  For drawing points, +        lines, triangles, bitmaps, images, etc. in software. +        (not used with Gallium) +    <li><b>swrast_setup</b> - Software primitive setup.  Does things like +        polygon culling, glPolygonMode, polygon offset, etc. +        (not used with Gallium) +    <li><b>tnl</b> - Software vertex Transformation 'n Lighting. +        (not used with Gallium) +    <li><b>tnl_dd</b> - TNL code for device drivers. +        (not used with Gallium) +    <li><b>vbo</b> - Vertex Buffer Object code.  All drawing with +        glBegin/glEnd, glDrawArrays, display lists, etc. goes through this +        module.  The results is a well-defined set of vertex arrays which +        are passed to the device driver (or tnl module) for rendering. +    <li><b>vf</b> - vertex format conversion (currently unused) +    <li><b>x86</b> - Assembly code/optimizations for 32-bit x86 systems +        (not used with Gallium) +    <li><b>x86-64</b> - Assembly code/optimizations for 64-bit x86 systems +        (not used with Gallium) +    </ul> +  <li><b>gallium</b> - Gallium3D source code +    <ul> +    <li><b>include</b> - Gallium3D header files which define the Gallium3D +        interfaces +    <li><b>drivers</b> - Gallium3D device drivers +      <ul> +      <li><b>cell</b> - Driver for Cell processor. +      <li><b>i915</b> - Driver for Intel i915/i945. +      <li><b>i965</b> - Driver for Intel i965. +      <li><b>llvmpipe</b> - Software driver using LLVM for runtime code generation. +      <li><b>nv*</b> - Drivers for NVIDIA GPUs. +      <li><b>r300</b> - Driver for ATI/AMD R300. +      <li><b>softpipe</b> - Software reference driver. +      <li><b>svga</b> - Driver for VMware's SVGA virtual GPU. +      <li><b>trace</b> - Driver for tracing Gallium calls. +      <li>XXX more +      </ul> +    <li><b>auxiliary</b> - Gallium support code +      <ul> +      <li><b>draw</b> - Software vertex processing and primitive assembly +          module.  This includes vertex program execution, clipping, culling +          and optional stages for drawing wide lines, stippled lines, +          polygon stippling, two-sided lighting, etc. +          Intended for use by drivers for hardware that does not have +          vertex shaders. +          Geometry shaders will also be implemented in this module. +      <li><b>cso_cache</b> - Constant State Objects Cache.  Used to filter out +          redundant state changes between state trackers and drivers. +      <li><b>gallivm</b> - LLVM module for Gallium.  For LLVM-based +           compilation, optimization and code generation for TGSI shaders. +           Incomplete. +      <li><b>pipebuffer</b> - utility module for managing buffers +      <li><b>rbug</b> - Gallium remote debug utility +      <li><b>rtasm</b> - run-time assembly/machine code generation. +          Currently there's run-time code generation for x86/SSE, PowerPC +          and Cell SPU. +      <li><b>tgsi</b> - TG Shader Infrastructure.  Code for encoding, +          manipulating and interpretting GPU programs. +      <li><b>translate</b> - module for translating vertex data from one format +          to another. +      <li><b>util</b> - assorted utilities for arithmetic, hashing, surface +          creation, memory management, 2D blitting, simple rendering, etc. +      </ul> +    <li><b>state_trackers</b> - +       <ul> +       <li><b>dri</b> - +       <li><b>egl</b> - +       <li><b>es</b> - +       <li><b>g3dvl</b> - +       <li><b>glx</b> - +       <li><b>python</b> - +       <li><b>vega</b> - +       <li><b>wgl</b> - +       <li><b>xorg</b> - +       </ul> +    <li><b>winsys</b> - +       <ul> +       <li><b>drm</b> - +       <li><b>egl_xlib</b> - +       <li><b>g3dvl</b> - +       <li><b>gdi</b> - +       <li><b>xlib</b> - +       </ul> +    </ul> +  </ul> +  <ul> +  <li><b>glu</b> - The OpenGL Utility library +     <ul> +     <li><b>sgi</b> - GLU from SGI +     <li><b>mesa</b> - Mesa version of GLU (deprecated) +     </ul> +  <li><b>glut</b> - Mark Kilgard's OpenGL OpenGL Utility Toolkit library +  <li><b>glx</b> - The GLX library code for building libGL.  This is used for +         direct rendering drivers.  It will dynamically load one of the  +         xxx_dri.so drivers. +  <li><b>glw</b> - Widgets for Xt/Motif. +  <li><b>glew</b> - OpenGL Extension Wrangler library (used by demo programs) +  </ul> +<li><b>progs</b> - OpenGL test and demonstration programs +<li><b>lib</b> - where the GL libraries are placed +</ul> + + +</BODY> +</HTML> | 
