From 2c0ce92e8af4aab75f9a69a7913a1bec705220f3 Mon Sep 17 00:00:00 2001
From: Brian Paul
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.
-The Cell driver source code is on the
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).
-If using Cell SDK 3.0, first edit configs/linux-cell and add
-
To compile the code, run
@@ -60,7 +62,7 @@ directory that contains Mesa Cell Driver
+Mesa/Gallium Cell Driver
Source Code
gallium-0.1
branch of the
-git repository.
+The latest Cell driver source code is on the gallium-0.2
branch
+of the Mesa git repository.
After you've cloned the repository, check out the branch with:
- git-checkout -b gallium-0.1 origin/gallium-0.1
+ git-checkout -b gallium-0.2 origin/gallium-0.2
-DSPU_MAIN_PARAM_LONG_LONG
to the SPU_CFLAGS.
+If using Cell SDK 2.1, see the configs/linux-cell file for some
+special changes.
make linux-cell
.
+To build in debug mode, run make linux-cell-debug
.
libGL.so
.
Verify that the Cell driver is being used by running glxinfo
and looking for:
- OpenGL renderer string: Gallium 0.1, Cell on Xlib
+ OpenGL renderer string: Gallium 0.2, Cell on Xlib
@@ -77,21 +79,61 @@ SPU local store as needed.
Similarly, textures are tiled and brought into local store as needed.
+As of October 2008, the driver runs quite a few OpenGL demos. +Features that work include: +
+-More recently, vertex transformation has been parallelized across the SPUs -as well. +Performance has recently improved with the addition of PPC code generation +for vertex shaders, but the code quality isn't too great yet. +
++Another bottleneck is SwapBuffers. It may be the limiting factor for +many simple GL tests.
--As of February 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). +The CELL_DEBUG env var can be set to a comma-separated list of one or +more of the following debug options:
++Note that some of these options may only work for linux-cell-debug builds. +
+ ++If the GALLIUM_NOPPC env var is set, PPC code generation will not be used +and vertex shaders will be run with the TGSI interpreter. +
++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. +
+