diff options
author | Brian Paul <brian.paul@tungstengraphics.com> | 2008-09-13 14:39:39 -0600 |
---|---|---|
committer | Brian Paul <brian.paul@tungstengraphics.com> | 2008-09-13 14:39:39 -0600 |
commit | 4db2a7f36cb8b4bf1325f3f9c57247fd5322f2ea (patch) | |
tree | 9fcb7a40cb70ca2fc9678b44e6a00f7799e0688b | |
parent | 1145042fd226beff26ecc52508c14e8d9794b674 (diff) |
updated Cell driver info
-rw-r--r-- | docs/cell.html | 56 |
1 files changed, 43 insertions, 13 deletions
diff --git a/docs/cell.html b/docs/cell.html index f9915d67e5..34d9a92723 100644 --- a/docs/cell.html +++ b/docs/cell.html @@ -6,7 +6,7 @@ <BODY> -<H1>Mesa Cell Driver</H1> +<H1>Mesa/Gallium Cell Driver</H1> <p> The Mesa @@ -23,18 +23,19 @@ Two phases are planned. First, to implement the framework for parallel rasterization using the Cell SPEs, including texture mapping. Second, to implement a full-featured OpenGL driver with support for GLSL, etc. +The second phase is now underway. </p> <H2>Source Code</H2> <p> -The Cell driver source code is on the <code>gallium-0.1</code> branch of the -git repository. +The latest Cell driver source code is on the <code>gallium-0.2</code> branch +of the Mesa git repository. After you've cloned the repository, check out the branch with: </p> <pre> - git-checkout -b gallium-0.1 origin/gallium-0.1 + git-checkout -b gallium-0.2 origin/gallium-0.2 </pre> <p> To build the driver you'll need the IBM Cell SDK (version 2.1 or 3.0). @@ -43,12 +44,13 @@ or the Cell Simulator (untested, though). </p> <p> -If using Cell SDK 3.0, first edit configs/linux-cell and add -<code>-DSPU_MAIN_PARAM_LONG_LONG</code> to the SPU_CFLAGS. +If using Cell SDK 2.1, see the configs/linux-cell file for some +special changes. </p> <p> To compile the code, run <code>make linux-cell</code>. +To build in debug mode, run <code>make linux-cell-debug</code>. </p> <p> @@ -60,7 +62,7 @@ directory that contains <code>libGL.so</code>. Verify that the Cell driver is being used by running <code>glxinfo</code> and looking for: <pre> - OpenGL renderer string: Gallium 0.1, Cell on Xlib + OpenGL renderer string: Gallium 0.2, Cell on Xlib </pre> @@ -77,21 +79,49 @@ SPU local store as needed. Similarly, textures are tiled and brought into local store as needed. </p> -<p> -More recently, vertex transformation has been parallelized across the SPUs -as well. -</p> - <H2>Status</H2> <p> -As of February 2008 the driver supports smooth/flat shaded triangle rendering +As of September 2008, the driver supports smooth/flat shaded triangle rendering with Z testing and simple texture mapping. Simple demos like gears run successfully. To test texture mapping, try progs/demos/texcyl (press right mouse button for rendering options). </p> +<p> +Runtime/dynamic code generation is being done for per-fragment +operations (Z test, blend, etc) and for fragment programs (though only a +few opcodes are implemented now). +</p> +<p> +In general, however, the driver is rather slow because all vertex +transformation is being done by an interpreter running on the PPU. +Programs with many vertices or complex vertex shaders will run especially +slow. +This will be addressed in the future. +</p> + + + +<H2>Debug Options</H2> + +<p> +The CELL_DEBUG env var can be set to a comma-separated list of one or +more of the following debug options: +</p> +<ul> +<li><b>checker</b> - use a different background clear color for each SPU. + This lets you see which SPU is rendering which screen tiles. +<li><b>sync</b> - wait/synchronize after each DMA transfer +</ul> + +<p> +If the GALLIUM_NOCELL env var is set, the softpipe driver will be used +intead of the Cell driver. +This is useful for comparison/validation. +</p> + <H2>Contributing</H2> |