Configuring the Provided SPU's

This page provides a complete list of all the configuration parameters supported by all SPU's shipped with Chromium ALPHA, arranged by SPU.  If a SPU has no configuration options, it is not listed here.

Print SPU

Parameter Name Value Types Description
log_file String Name of log file to generate.  If this parameter is not specified, the Print SPU will send its output to standard error. If this is a relative path, the file will be created relative to the current directory, which will usually be either the directory that the server was launched from, or the start directory specified for the application node. If no start directory was specified, the client log file will appear in the directory that crappfaker was run from.

Render SPU

Parameter Name Value Types Description
window_geometry 4 Floats Geometry of the window to create.  This is specified as four floating point numbers.  The first two give the (x,y) position of the upper left corner of the window, relative to the upper left corner of the screen.  The last two numbers give the width and height of the window, respectively.  The default is (0,0,256,256).
fullscreen Boolean If this flag is set, the window_geometry parameters will be ignored, and the created window will cover the entire screen.  The default is 0.
ontop Boolean If this flag is set, the window will appear on top of all other windows.
stencil_bits Integer Sets the number of required stencil bits for the created window. The default is 0.

Tilesort SPU

Parameter Name Value Types Description
split_begin_end Boolean If this flag is set, the Tilesort SPU will break blocks of geometry into pieces if they happen to fall on a buffer boundary.  This can happen if a lot of geometry is specified with no state changes, or if the MTU is small.  If the flag is not set, then the Tilesort SPU will simply grow the geometry buffer beyond the MTU.  The default is 1.
broadcast Boolean If this flag is set, the bucketing algorithm will be disabled, and all geometry will be broadcast to all servers.  The default is 0.
optimize_bucket Boolean If this flag is set, a more sophisticated algorithm will be used to compute the intersection between the screen-space bounding box and the set of tiles.  However, this algorithm only works if the tiling is completely regular; i.e., each tile is the same size, and they form a perfectly rectangular output space.  If the flag is not set, the bounding box will just be tested against each tile in turn.  The default is 1.
sync_on_swap Boolean If this flag is set, the Tilesort SPU will wait for a SwapBuffers call to be executed by all servers before continuing.  This will keep the client application from getting more than one frame ahead of any of the servers, but it requires a round-trip network packet from each server.  The default is 1.
sync_on_finish Boolean If this flag is set, the Tilesort SPU will wait for a glFinish call to be executed by all servers before continuing.  The default is 1.
draw_bbox Boolean If this flag is set, the Tilesort SPU will add commands to the stream to draw the object-space bounding box around each block of geometry that is sent.  This is useful for seeing the computed granularity of work, but it makes the stream of graphics commands more complex and uses some slow OpenGL commands like glPushAttrib.  The default is 0.
bbox_line_width Float The width in pixels of the lines used to draw the bounding box.  If the draw_bbox flag is not set, this parameter has no effect.  The default is 5.
fake_window_dims 2 Floats This parameter provides a way to use glViewport or glScissor calls with applications that do not have a window.  The Tilesort SPU's glViewport implementation will determine the size of the client window (if it exists) to determine what part of the output space the client is trying to restrict drawing to.  However, if the Chromium context has been created out of thin air (i.e., with the crCreateContext call), the fake window dimensions will be returned.  If these parameters are not set, and there is no client window, using glViewport or glScissor will cause a fatal run-time error.
I also have a line of punk t-shirts and art t-shirts featuring Bas Couture, artcore designs