Ian Romanick [Tue, 11 Dec 2007 20:40:58 +0000 (12:40 -0800)]
Port to libspe2
libspe is deprecated in Cell SDK 2.1, and it is removed in Cell SDK 3.0.
This patch ports the existing libspe-based code to libspe2. Some error
checking (eh-hem) would be nice.
Ian Romanick [Tue, 11 Dec 2007 20:39:17 +0000 (12:39 -0800)]
Remove '-include altivec.h'.
Including altivec.h caused problems in some places that use "pixel" as a
variable name.
José Fonseca [Tue, 11 Dec 2007 18:18:25 +0000 (18:18 +0000)]
Mention 965 driver on main page.
José Fonseca [Tue, 11 Dec 2007 18:10:41 +0000 (18:10 +0000)]
Write a nicer doxygen main page, based on the TG's Gallium3D technical overview pages.
José Fonseca [Tue, 11 Dec 2007 18:09:08 +0000 (18:09 +0000)]
Cover LLVM code in doxygen output.
Michel Dänzer [Tue, 11 Dec 2007 18:07:12 +0000 (19:07 +0100)]
softpipe: Support for PIPE_FORMAT_A4R4G4B4_UNORM and PIPE_FORMAT_R5G6B5_UNORM.
The packedpixels test runs with the xlib winsys, though not all cases look
correct yet.
Michel Dänzer [Tue, 11 Dec 2007 18:02:26 +0000 (19:02 +0100)]
Remove internal_format field from struct pipe_texture.
It's state tracker specific / not really necessary anyway.
Keith Whitwell [Tue, 11 Dec 2007 17:10:26 +0000 (17:10 +0000)]
Rework gallium and mesa queries a little.
Add a 'CheckQuery()' driver callback to mesa to check query completion.
Make pipe_query an opaque type.
Rework softpipe queries, support overlapping occlusion queries.
Keith Whitwell [Tue, 11 Dec 2007 17:07:31 +0000 (17:07 +0000)]
965: remove duplicate brw_draw functions, make init a bit cleaner
Keith Whitwell [Tue, 11 Dec 2007 15:48:30 +0000 (15:48 +0000)]
gallium: remove clear values from depth, stencil state
Brian [Tue, 11 Dec 2007 16:13:12 +0000 (09:13 -0700)]
Fix align16() function to work with 32/64-bit pointers on big-endian.
Brian [Tue, 11 Dec 2007 16:09:06 +0000 (09:09 -0700)]
change align_malloc() alignment to uint
Brian [Tue, 11 Dec 2007 15:58:39 +0000 (08:58 -0700)]
Move align_malloc(), align_free() to p_util.h
Brian [Tue, 11 Dec 2007 15:47:13 +0000 (08:47 -0700)]
use ALIGN16_ATTRIB from p_compiler.h
Brian [Tue, 11 Dec 2007 15:46:49 +0000 (08:46 -0700)]
Remove obsolete clear_color, tex sampler state
Brian [Tue, 11 Dec 2007 15:46:13 +0000 (08:46 -0700)]
Remove obsolete clear_color, tex sampler state functions
Brian [Tue, 11 Dec 2007 15:18:47 +0000 (08:18 -0700)]
add missing case statements for TGSI_TOKEN_TYPE_IMMEDIATE and assert(0)
We're hitting this with quite a few Mesa demos.
Zack Rusin [Tue, 11 Dec 2007 14:44:41 +0000 (09:44 -0500)]
Adopt llvm to some of the latest changes.
Zack Rusin [Fri, 9 Nov 2007 15:08:15 +0000 (10:08 -0500)]
Redo the fragment program examples to match vp's
we just load text files instead of compiling tons of small
binaries
Zack Rusin [Fri, 9 Nov 2007 13:19:27 +0000 (08:19 -0500)]
Add a simple fps counter to the example
Zack Rusin [Wed, 7 Nov 2007 18:26:45 +0000 (13:26 -0500)]
Redo the way we pass arguments to the llvm.
simply pass aligned arrays, they should cast to vectors without
any problems. also remove unnecessary memset
Zack Rusin [Wed, 7 Nov 2007 13:59:35 +0000 (08:59 -0500)]
number of outputs is nr_attribs - 2
Zack Rusin [Tue, 6 Nov 2007 11:06:04 +0000 (06:06 -0500)]
Implement kilp and make it work
Zack Rusin [Mon, 5 Nov 2007 18:41:56 +0000 (13:41 -0500)]
Rewrite argument passing to prepare for handling of the kil instruction.
Pass the inputs/outputs pointer in the structure instead of infinitely
expanding arguments to the functions.
Keith Whitwell [Tue, 11 Dec 2007 14:39:37 +0000 (14:39 +0000)]
gallium: remove set_sampler_units interface
The effect of this mapping can be acheived by the state tracker and
setting up the pipe texture state pointers to incorporate its affects.
Keith Whitwell [Tue, 11 Dec 2007 13:19:33 +0000 (13:19 +0000)]
gallium: remove redundant clear_color state.
Keith Whitwell [Tue, 11 Dec 2007 13:00:12 +0000 (13:00 +0000)]
gallium: Remove feedback interfaces from pipe driver.
Something similar will return when geometry shaders are added, but for now
this interface is not required.
Keith Whitwell [Tue, 11 Dec 2007 12:25:42 +0000 (12:25 +0000)]
gallium: remove dead pbo zcopy code
Zack Rusin [Tue, 11 Dec 2007 12:44:07 +0000 (07:44 -0500)]
Hmm, missed these two files. Sorry.
Zack Rusin [Tue, 11 Dec 2007 12:19:11 +0000 (07:19 -0500)]
Port i965 driver to Gallium3D.
This is a squashed commit of i965 branch on
ssh://people.freedesktop.org/~zack/mesa
Because of the porting the branch often didn't compile so
squashing it makes more sense.
The port is still far from complete.
José Fonseca [Tue, 11 Dec 2007 01:14:38 +0000 (01:14 +0000)]
Add surface storage allocation function to winsys interface.
José Fonseca [Tue, 11 Dec 2007 00:46:44 +0000 (00:46 +0000)]
Add inline funtion to comput format size based on code in st_format.c.
Including state_tracker/st_format.h from pipe drivers is not an option
since it uses GL* types and pipe/p_util.h will clash with main/imports.h.
Brian [Tue, 11 Dec 2007 00:32:08 +0000 (17:32 -0700)]
Cell: first triangle.
This is a feeble first step, but it works.
The cell_clear_surface() function has been hijacked to set up a "draw triangle"
command and send it to all the SPUs.
The Gallium softpipe triangle code was copied to the SPU module and modified.
Only the progs/trivial/clear.c program runs.
Brian [Tue, 11 Dec 2007 00:27:29 +0000 (17:27 -0700)]
set window size to 256x256
Brian [Tue, 11 Dec 2007 00:25:54 +0000 (17:25 -0700)]
XXX comments about some hard-coded values that need to be fixed
Brian [Mon, 10 Dec 2007 23:18:24 +0000 (16:18 -0700)]
minor clean-ups, comments
Keith Whitwell [Mon, 10 Dec 2007 22:38:44 +0000 (22:38 +0000)]
gallium: use hardcoded cliptest code for fixed planes
Keith Whitwell [Mon, 10 Dec 2007 22:27:04 +0000 (22:27 +0000)]
gallium: disable assert(0) in xmesa_surface()
Keith Whitwell [Mon, 10 Dec 2007 22:02:04 +0000 (22:02 +0000)]
gallium: remove unnecessary guards on qs->next
Brian [Mon, 10 Dec 2007 21:25:30 +0000 (14:25 -0700)]
Cell driver state-setter functions, basic tile get/put, glClear.
The state setting code was mostly just copied from the softpipe driver.
The SPUs can now get/put framebuffer tiles from/to main memory and clear
them to a given color. Lots of debug code in effect.
Tiled framebuffer is displayed in X window via the xmwinsys layer.
To enable Cell driver, export GALLIUM_CELL=1
Brian [Mon, 10 Dec 2007 21:19:35 +0000 (14:19 -0700)]
remove ~ backup files
Brian [Mon, 10 Dec 2007 21:10:29 +0000 (14:10 -0700)]
remove -Wall, add -DGALLIUM_CELL
Brian [Mon, 10 Dec 2007 20:48:09 +0000 (13:48 -0700)]
Add 'type' parameter to is_format_supported() to specify texture vs. drawing surface, etc.
Additional types may be added in the future.
Brian [Mon, 10 Dec 2007 20:45:24 +0000 (13:45 -0700)]
disable assertion in sp_tile_cache_set_surface() for now
Brian [Mon, 10 Dec 2007 20:42:34 +0000 (13:42 -0700)]
implement i915_put_tile_rgba() - temporary code though
Brian [Mon, 10 Dec 2007 20:41:19 +0000 (13:41 -0700)]
don't use get/put_tile_rgba() for accum buffer accesses
Michel Dänzer [Mon, 10 Dec 2007 16:31:52 +0000 (17:31 +0100)]
Fix up some confusion wrt winsys->buffer_create alignment / flags parameters.
intel_winsys works again.
Michel Dänzer [Mon, 10 Dec 2007 15:34:25 +0000 (16:34 +0100)]
Link fewer common objects into Gallium winsys layers.
These are useless or even harmful due to referencing symbols no longer
available in the Gallium build.
Ben Skeggs [Mon, 10 Dec 2007 10:07:53 +0000 (21:07 +1100)]
Correct user VBO size.
Michel Dänzer [Mon, 10 Dec 2007 08:11:57 +0000 (09:11 +0100)]
Remove stray references to struct pipe_region.
Brian [Mon, 10 Dec 2007 04:44:26 +0000 (21:44 -0700)]
use quadColor local var
Brian [Mon, 10 Dec 2007 04:10:39 +0000 (21:10 -0700)]
Fix looping for multi-color buffer writing.
Brian [Mon, 10 Dec 2007 03:45:20 +0000 (20:45 -0700)]
added null ptr check in draw_destroy() for rasterizer stage
José Fonseca [Sun, 9 Dec 2007 18:26:26 +0000 (18:26 +0000)]
Adapt for winsys interface changes.
José Fonseca [Wed, 5 Dec 2007 15:28:39 +0000 (15:28 +0000)]
gallium: use SSE by default
Michal [Wed, 28 Nov 2007 18:10:31 +0000 (18:10 +0000)]
Allow tgsi_dump print-out to stderr or a string buffer.
Handle source register complement modifier in exec and dump.
José Fonseca [Sun, 25 Nov 2007 20:23:10 +0000 (20:23 +0000)]
gallium: Remove buffer_unfence and buffer_finish.
These interfaces have been deemed useless by Keith.
Keith Whitwell [Sun, 25 Nov 2007 15:06:54 +0000 (15:06 +0000)]
gallium: more trivial tests
José Fonseca [Fri, 23 Nov 2007 17:22:54 +0000 (17:22 +0000)]
gallium: Reusable pipe buffer library.
This is an optional library that winsys drivers can use to simplify memory
management, and help meet the winsys interface requirements.
Keith Whitwell [Fri, 23 Nov 2007 14:50:26 +0000 (14:50 +0000)]
gallium: fix ordering of arguments to pack_ui32_float4
Keith Whitwell [Fri, 23 Nov 2007 14:49:54 +0000 (14:49 +0000)]
gallium: remove unneeded depth buffer
Keith Whitwell [Fri, 23 Nov 2007 14:44:54 +0000 (14:44 +0000)]
gallium: initialized draw element buffer to NULL
Keith Whitwell [Fri, 23 Nov 2007 12:03:45 +0000 (12:03 +0000)]
gallium: add support for aliased 4ub format
Keith Whitwell [Fri, 23 Nov 2007 12:02:50 +0000 (12:02 +0000)]
gallium: support the full range of possible vertex types
Michal [Fri, 23 Nov 2007 11:30:51 +0000 (11:30 +0000)]
gallium: add draw_stage::destroy().
José Fonseca [Fri, 23 Nov 2007 10:35:53 +0000 (10:35 +0000)]
gallium: Comment on winsys's fence functions. Fix comment layout for doxygen.
keithw [Wed, 21 Nov 2007 17:12:39 +0000 (17:12 +0000)]
temporary _mesa_printf symbol
keithw [Wed, 21 Nov 2007 11:04:20 +0000 (11:04 +0000)]
[pipe]: add Offset() util macro
José Fonseca [Tue, 20 Nov 2007 14:27:52 +0000 (14:27 +0000)]
Document return types.
keithw [Mon, 19 Nov 2007 20:05:38 +0000 (20:05 +0000)]
add fence interfaces and buffer create flags to pipe_winsys
Brian [Sat, 8 Dec 2007 04:21:58 +0000 (21:21 -0700)]
Try to reduce the frequency of calls to pipe->get_tex_surface()
Save the surface info in the tile cache and re-use whenever possible.
Brian [Sat, 8 Dec 2007 03:58:01 +0000 (20:58 -0700)]
shorten loops over color bufs
Brian [Sat, 8 Dec 2007 03:31:26 +0000 (20:31 -0700)]
code re-org in softpipe_clear()
Brian [Sat, 8 Dec 2007 03:24:24 +0000 (20:24 -0700)]
clean-ups
Brian [Sat, 8 Dec 2007 03:13:10 +0000 (20:13 -0700)]
Tile clearing optimizations.
Clear using int values rather than floats when possible. Better performance now.
Brian [Sat, 8 Dec 2007 00:26:06 +0000 (17:26 -0700)]
Disable, remove tnl module from the Gallium build since no longer used.
Brian [Sat, 8 Dec 2007 00:24:42 +0000 (17:24 -0700)]
New vbo_set_draw_func() to keep vbo context opaque to state tracker and tnl module.
Brian [Sat, 8 Dec 2007 00:14:02 +0000 (17:14 -0700)]
Disable swrast, swrast_setup and driverfuncs in the build.
The gallium/state tracker no longer uses them and this speeds up the build a bit.
Brian [Sat, 8 Dec 2007 00:11:30 +0000 (17:11 -0700)]
Move _mesa_init_glsl_driver_functions() into shader_api.c
This allows making a bunch of functions static, and removes a state
tracker dependency on driverfuncs.c
Brian [Fri, 7 Dec 2007 23:46:30 +0000 (16:46 -0700)]
Define PIPE_FORMAT_ tokens as an enum set, rather than #defines.
This makes debugging a _lot_ easier.
In gdb, "print format" used to display
613570600, now you see PIPE_FORMAT_A8R8G8B8_UNORM.
Brian [Fri, 7 Dec 2007 23:22:39 +0000 (16:22 -0700)]
include tgsi_dump.h
Brian [Fri, 7 Dec 2007 23:15:14 +0000 (16:15 -0700)]
Replace "duplicate" formats
Brian [Fri, 7 Dec 2007 23:01:31 +0000 (16:01 -0700)]
Get rid of "duplicate" formats.
For example, replace PIPE_FORMAT_U_A8_R8_G8_B8 with PIPE_FORMAT_A8R8G8B8_UNORM
Brian [Fri, 7 Dec 2007 22:47:39 +0000 (15:47 -0700)]
Enable the tile clear "optimization"
Not really faster yet because we're using the float-valued put/get_tile()
functions so we're doing quite a bit of float/int conversion. That can
be fixed though...
Brian [Fri, 7 Dec 2007 22:46:10 +0000 (15:46 -0700)]
Make sp_tile_cache_flush_clear() static.
Also, misc clean-ups, comments.
Brian [Fri, 7 Dec 2007 22:44:58 +0000 (15:44 -0700)]
Convert the clearValue back to floats for sp_tile_cache_clear()
It might be nice if sp->clear() took the color/value as floats...
Brian [Fri, 7 Dec 2007 22:32:13 +0000 (15:32 -0700)]
Some tile cache improvements, clean-ups.
Code for optimized clears (per-tile flag indicating clear status) in place
but not enabled yet.
Brian [Fri, 7 Dec 2007 20:19:00 +0000 (13:19 -0700)]
don't dereference pt after realloc - fixes valgrind error
Brian [Fri, 7 Dec 2007 20:08:28 +0000 (13:08 -0700)]
add some whitespace
Brian [Fri, 7 Dec 2007 17:21:56 +0000 (10:21 -0700)]
Move struct softpipe_texture definition into sp_texture.h
Also, added softpipe_texture() cast wrapper.
Brian [Fri, 7 Dec 2007 17:18:34 +0000 (10:18 -0700)]
minor code movement
Brian [Fri, 7 Dec 2007 15:28:59 +0000 (08:28 -0700)]
Add PIPE_FORMAT_U_B8_G8_R8_A8 in default_rgba_format().
Also, rewrite/simplify default_rgba_format() and default_depth_format().
Brian [Fri, 7 Dec 2007 15:24:56 +0000 (08:24 -0700)]
byteswapping fixes in choose_pixel_format()
Brian [Fri, 7 Dec 2007 15:24:33 +0000 (08:24 -0700)]
remove stray ;
Brian [Fri, 7 Dec 2007 14:58:31 +0000 (07:58 -0700)]
Remove obsolete xlib driver files
Brian [Fri, 7 Dec 2007 14:57:54 +0000 (07:57 -0700)]
Overhaul the Xlib winsys layer.
Front/back color buffers are now allocated with ordinary malloc() via the
winsys buffer functions.
To display surfaces in SwapBuffers() or flush_frontbuffer() we create an
XImage that wraps the surface, then use XPutImage to copy to the window.
Shared memory transport disabled for now.
Brian [Fri, 7 Dec 2007 14:53:21 +0000 (07:53 -0700)]
added ST_SURFACE_DEPTH
Brian [Fri, 7 Dec 2007 14:53:06 +0000 (07:53 -0700)]
move surface pitch calculation so it always gets updated
Brian [Fri, 7 Dec 2007 14:52:35 +0000 (07:52 -0700)]
fix void pointer arithmetic warnings
Brian [Fri, 7 Dec 2007 14:48:33 +0000 (07:48 -0700)]
silence void ptr arithmetic warning