summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2008-01-26gallium: specialize glFlush vs other flush semanticsKeith Whitwell
2008-01-26gallium: remove makefile whitespaceKeith Whitwell
2008-01-25Cell: updates to match pipe_buffer changesBrian
2008-01-25Cell: typedefs need semicolons, Ian :)Brian
2008-01-25Cell: emit framebuffer state like other stateBrian
Plus misc clean-up. Window resize sometimes works now.
2008-01-25gallium: replace loop w/ memset in draw_vertex_cache_invalidate()Brian
2008-01-25gallium: better flush logic in draw moduleBrian
This is the other half of Keith's draw/flush patch. There are now 5 flush flags to control what's flushed (post-xform vertex cache, prim cache, vbuf, etc). The gears slow-down in this part of the patch was due to the cull stage not getting invoked. It was unconditional before, but is now gated by 'need_det'. But it also needs to be gated by draw->rasterizer->cull_mode. Gears uses back-face culling.
2008-01-25gallium: replace prim pipeline begin/end() functions with flush()Brian
This is basically half of Keith's draw/flush patch. The stage->point/line/tri() functions are now self-validating, the validator functions are installed by the flush() function. There were excessive calls to validate_pipeline(), however. This was caused by draw_prim_queue_flush() keeping a local 'first' variable that always pointed to the validate functions. Replaced 'first' with 'draw->pipeline.first'. Performance in gears is up just slightly with this patch.
2008-01-25Work around parameter differences for main in different SDK versionsIan Romanick
2008-01-25gallium: rename pipe_buffer_handle to pipe_buffer, rework pipebuffer/ codeKeith Whitwell
Provide an actual definition of the pipe_buffer struct, containing the parameters used to create the buffer, and its refcount. Shift refcounting buffers out of the winsys interface, similar to surfaces & textures. Rework pipebuffer/ to reflect the fact these changes, and also Michel's reworking of the buffer interface.
2008-01-25gallium: Simplify winsys buffer interface.Michel Dänzer
The properties of a buffer represented by struct pipe_buffer_handle are now basically constant over its lifetime. The state tracker gets to deal with any more complex buffer semantics it may need to provide.
2008-01-25965: add asserts to catch batch overrunKeith Whitwell
2008-01-25965: cope better with range decls for temps, immediates, etcKeith Whitwell
2008-01-25gallium: include p_state.h, replace PIPE_MAX_SHADER_OUTPUTS with ↵Brian
PIPE_MAX_SHADER_INPUTS
2008-01-25Cell: propogate vertex info to SPUs, use it for attrib interpolationBrian
2008-01-25Cell: batch_buffer_size should be uint, not ubyteBrian
2008-01-25Cell: new ROUNDUP16() macroBrian
2008-01-25gallium: optimizations to flatshade, two-side prim stagesBrian
2008-01-25gallium: added rastpos_destroy()Brian
2008-01-24Cell: insert dummy field into cell_command_render struct to work around ↵Brian
apparent compiler bug Without this dummy field, it seems the SPU code in cmd_render() gets a bogus value when dereferencing render->num_indices, sometimes. This showed up as missing tries in gears.c in the first frame rendered. Using spu-gcc version 4.1.1, Cell SDK 2.1
2008-01-24Cell: s/-W/-Wall/ in linux-cellBrian
2008-01-24Cell: send actual vertex size in the render commandBrian
2008-01-24Cell: rewrite compute_vertex_layout()Brian
2008-01-24Cell: fix asst. warningsBrian
2008-01-24gallium: added rastpos_destroy()Brian
2008-01-24i915: add case for TGSI_FILE_IMMEDIATE to avoid error, but still needs ↵Brian
proper handling...
2008-01-24Cell: use Cell driver by default if linux-cell is builtBrian
To disable the Cell driver and use softpipe instead, export GALLIUM_NOCELL=1
2008-01-24disable usage of llvm in fragment shadersZack Rusin
it produces wrong results because it hasn't been adjusted to some new changes and it will just be in the way while changing llvm code to a different vector layout
2008-01-24change the name of the shaders to reflect what they do.Zack Rusin
remove stale code and do some general cleanups.
2008-01-23Cell: s/FORMAT/EMIT/Brian
2008-01-23gallium: rename FORMAT_x to EMIT_x and use EMIT_ALL to emit whole vertex ↵Brian
as-is in vbuf code
2008-01-23gallium: improved vertex layout and interpolant setup in softpipeBrian
2008-01-23Specify linker instead of letting mklib use gccIan Romanick
This is the final bit required to get Cell builds on x86 working. Without this, mklib tries to link using the x86 gcc instead of ppu32-gcc.
2008-01-23Use HOST_CC for programs that will run on the build hostIan Romanick
2008-01-23Use EXTRA_LIB_PATH with *_LIB_DEPSIan Romanick
Make sure EXTRA_LIB_PATH is used with all the LIB_DEPS. Re-order some of the options and tweak the whitespace to make the various LIB_DEPS more readable. This makes building for Cell on x86 a bit easier and doesn't seem to effect other builds.
2008-01-23Remove unnecessary pathsIan Romanick
Removing the paths on certain commands (e.g., ppu32-gcc) and removing -I/usr/include makes it possible to build for Cell on both PowerPC and x86 hosts.
2008-01-23Cell: remove old test codeBrian
2008-01-23Cell: asst. updates to sync up with today's earlier gallium changesBrian
2008-01-23gallium: remove support for separate depth/stencil buffers. Always combined ↵Brian
now.
2008-01-23gallium: in sp_tile_cache_clear() mark all cache slots as empty/free. Fixes ↵Brian
progs/redbook/stencil.c
2008-01-23gallium: rework compute_vertex_layout() to intelligently map vs outputs to ↵Brian
fs inputs Some follow-on simplification in prim setup is possible...
2008-01-23gallium: restore/rewrite vbuf code for softpipeBrian
Now based on the draw_vbuf code, instead being a custom one-off. Disabled by default, enable with SP_VBUF env var.
2008-01-23gallium: overhaul usage of vertex_info in draw module.Brian
Remove all dependencies on vertex_info, except for draw_vbuf. Drawing stages now strictly operate on post-transformed vertices and don't know anything about hw vertices. Use vertex program output info for two-side/flat/etc stages. Temporarily disable vbuf module in softpipe driver.
2008-01-23gallium: s/INTERP_NONE/INTERP_LINEAR/ to fix assertion with ↵Brian
progs/samples/select.c
2008-01-23gallium: fix computation of raster.point_size_per_vertex flagBrian
2008-01-23gallium: multiply vertex point size by 0.5Brian
2008-01-22gallium: use temp reg for storing color to avoid reading 'result.color'Brian
2008-01-22gallium: Don't allocate a vertex buffer until after setting the prim type.Brian
The vertex size may depend on whether we're drawing points, lines or triangles.
2008-01-22added stipple_destroy()José Fonseca
2008-01-22gallium: Added FORMAT_1F_PSIZE to insert constant point size into verticesBrian
Also, added draw_convert_wide_points/lines() so a driver can tell the draw module whether to convert wide points/lines into triangles, or just pass them through.