mesa.git
16 years agoPort to libspe2
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.

16 years agoRemove '-include altivec.h'.
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.

16 years agoMention 965 driver on main page.
José Fonseca [Tue, 11 Dec 2007 18:18:25 +0000 (18:18 +0000)]
Mention 965 driver on main page.

16 years agoWrite a nicer doxygen main page, based on the TG's Gallium3D technical overview pages.
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.

16 years agoCover LLVM code in doxygen output.
José Fonseca [Tue, 11 Dec 2007 18:09:08 +0000 (18:09 +0000)]
Cover LLVM code in doxygen output.

16 years agosoftpipe: Support for PIPE_FORMAT_A4R4G4B4_UNORM and PIPE_FORMAT_R5G6B5_UNORM.
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.

16 years agoRemove internal_format field from struct pipe_texture.
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.

16 years agoRework gallium and mesa queries a little.
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.

16 years ago965: remove duplicate brw_draw functions, make init a bit cleaner
Keith Whitwell [Tue, 11 Dec 2007 17:07:31 +0000 (17:07 +0000)]
965: remove duplicate brw_draw functions, make init a bit cleaner

16 years agogallium: remove clear values from depth, stencil state
Keith Whitwell [Tue, 11 Dec 2007 15:48:30 +0000 (15:48 +0000)]
gallium: remove clear values from depth, stencil state

16 years agoFix align16() function to work with 32/64-bit pointers on big-endian.
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.

16 years agochange align_malloc() alignment to uint
Brian [Tue, 11 Dec 2007 16:09:06 +0000 (09:09 -0700)]
change align_malloc() alignment to uint

16 years agoMove align_malloc(), align_free() to p_util.h
Brian [Tue, 11 Dec 2007 15:58:39 +0000 (08:58 -0700)]
Move align_malloc(), align_free() to p_util.h

16 years agouse ALIGN16_ATTRIB from p_compiler.h
Brian [Tue, 11 Dec 2007 15:47:13 +0000 (08:47 -0700)]
use ALIGN16_ATTRIB from p_compiler.h

16 years agoRemove obsolete clear_color, tex sampler state
Brian [Tue, 11 Dec 2007 15:46:49 +0000 (08:46 -0700)]
Remove obsolete clear_color, tex sampler state

16 years agoRemove obsolete clear_color, tex sampler state functions
Brian [Tue, 11 Dec 2007 15:46:13 +0000 (08:46 -0700)]
Remove obsolete clear_color, tex sampler state functions

16 years agoadd missing case statements for TGSI_TOKEN_TYPE_IMMEDIATE and assert(0)
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.

16 years agoAdopt llvm to some of the latest changes.
Zack Rusin [Tue, 11 Dec 2007 14:44:41 +0000 (09:44 -0500)]
Adopt llvm to some of the latest changes.

16 years agoRedo the fragment program examples to match vp's
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

16 years agoAdd a simple fps counter to the example
Zack Rusin [Fri, 9 Nov 2007 13:19:27 +0000 (08:19 -0500)]
Add a simple fps counter to the example

16 years agoRedo the way we pass arguments to the llvm.
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

16 years agonumber of outputs is nr_attribs - 2
Zack Rusin [Wed, 7 Nov 2007 13:59:35 +0000 (08:59 -0500)]
number of outputs is nr_attribs - 2

16 years agoImplement kilp and make it work
Zack Rusin [Tue, 6 Nov 2007 11:06:04 +0000 (06:06 -0500)]
Implement kilp and make it work

16 years agoRewrite argument passing to prepare for handling of the kil instruction.
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.

16 years agogallium: remove set_sampler_units interface
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.

16 years agogallium: remove redundant clear_color state.
Keith Whitwell [Tue, 11 Dec 2007 13:19:33 +0000 (13:19 +0000)]
gallium: remove redundant clear_color state.

16 years agogallium: Remove feedback interfaces from pipe driver.
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.

16 years agogallium: remove dead pbo zcopy code
Keith Whitwell [Tue, 11 Dec 2007 12:25:42 +0000 (12:25 +0000)]
gallium: remove dead pbo zcopy code

16 years agoHmm, missed these two files. Sorry.
Zack Rusin [Tue, 11 Dec 2007 12:44:07 +0000 (07:44 -0500)]
Hmm, missed these two files. Sorry.

16 years agoPort i965 driver to Gallium3D.
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.

16 years agoAdd surface storage allocation function to winsys interface.
José Fonseca [Tue, 11 Dec 2007 01:14:38 +0000 (01:14 +0000)]
Add surface storage allocation function to winsys interface.

16 years agoAdd inline funtion to comput format size based on code in st_format.c.
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.

16 years agoCell: first triangle.
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.

16 years agoset window size to 256x256
Brian [Tue, 11 Dec 2007 00:27:29 +0000 (17:27 -0700)]
set window size to 256x256

16 years agoXXX comments about some hard-coded values that need to be fixed
Brian [Tue, 11 Dec 2007 00:25:54 +0000 (17:25 -0700)]
XXX comments about some hard-coded values that need to be fixed

16 years agominor clean-ups, comments
Brian [Mon, 10 Dec 2007 23:18:24 +0000 (16:18 -0700)]
minor clean-ups, comments

16 years agogallium: use hardcoded cliptest code for fixed planes
Keith Whitwell [Mon, 10 Dec 2007 22:38:44 +0000 (22:38 +0000)]
gallium: use hardcoded cliptest code for fixed planes

16 years agogallium: disable assert(0) in xmesa_surface()
Keith Whitwell [Mon, 10 Dec 2007 22:27:04 +0000 (22:27 +0000)]
gallium: disable assert(0) in xmesa_surface()

16 years agogallium: remove unnecessary guards on qs->next
Keith Whitwell [Mon, 10 Dec 2007 22:02:04 +0000 (22:02 +0000)]
gallium: remove unnecessary guards on qs->next

16 years agoCell driver state-setter functions, basic tile get/put, glClear.
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

16 years agoremove ~ backup files
Brian [Mon, 10 Dec 2007 21:19:35 +0000 (14:19 -0700)]
remove ~ backup files

16 years agoremove -Wall, add -DGALLIUM_CELL
Brian [Mon, 10 Dec 2007 21:10:29 +0000 (14:10 -0700)]
remove -Wall, add -DGALLIUM_CELL

16 years agoAdd 'type' parameter to is_format_supported() to specify texture vs. drawing surface...
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.

16 years agodisable assertion in sp_tile_cache_set_surface() for now
Brian [Mon, 10 Dec 2007 20:45:24 +0000 (13:45 -0700)]
disable assertion in sp_tile_cache_set_surface() for now

16 years agoimplement i915_put_tile_rgba() - temporary code though
Brian [Mon, 10 Dec 2007 20:42:34 +0000 (13:42 -0700)]
implement i915_put_tile_rgba() - temporary code though

16 years agodon't use get/put_tile_rgba() for accum buffer accesses
Brian [Mon, 10 Dec 2007 20:41:19 +0000 (13:41 -0700)]
don't use get/put_tile_rgba() for accum buffer accesses

16 years agoFix up some confusion wrt winsys->buffer_create alignment / flags parameters.
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.

16 years agoLink fewer common objects into Gallium winsys layers.
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.

16 years agoCorrect user VBO size.
Ben Skeggs [Mon, 10 Dec 2007 10:07:53 +0000 (21:07 +1100)]
Correct user VBO size.

16 years agoRemove stray references to struct pipe_region.
Michel Dänzer [Mon, 10 Dec 2007 08:11:57 +0000 (09:11 +0100)]
Remove stray references to struct pipe_region.

16 years agouse quadColor local var
Brian [Mon, 10 Dec 2007 04:44:26 +0000 (21:44 -0700)]
use quadColor local var

16 years agoFix looping for multi-color buffer writing.
Brian [Mon, 10 Dec 2007 04:10:39 +0000 (21:10 -0700)]
Fix looping for multi-color buffer writing.

16 years agoadded null ptr check in draw_destroy() for rasterizer stage
Brian [Mon, 10 Dec 2007 03:45:20 +0000 (20:45 -0700)]
added null ptr check in draw_destroy() for rasterizer stage

16 years agoAdapt for winsys interface changes.
José Fonseca [Sun, 9 Dec 2007 18:26:26 +0000 (18:26 +0000)]
Adapt for winsys interface changes.

16 years agogallium: use SSE by default
José Fonseca [Wed, 5 Dec 2007 15:28:39 +0000 (15:28 +0000)]
gallium: use SSE by default

16 years agoAllow tgsi_dump print-out to stderr or a string buffer.
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.

16 years agogallium: Remove buffer_unfence and buffer_finish.
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.

16 years agogallium: more trivial tests
Keith Whitwell [Sun, 25 Nov 2007 15:06:54 +0000 (15:06 +0000)]
gallium: more trivial tests

16 years agogallium: Reusable pipe buffer library.
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.

16 years agogallium: fix ordering of arguments to pack_ui32_float4
Keith Whitwell [Fri, 23 Nov 2007 14:50:26 +0000 (14:50 +0000)]
gallium: fix ordering of arguments to pack_ui32_float4

16 years agogallium: remove unneeded depth buffer
Keith Whitwell [Fri, 23 Nov 2007 14:49:54 +0000 (14:49 +0000)]
gallium: remove unneeded depth buffer

16 years agogallium: initialized draw element buffer to NULL
Keith Whitwell [Fri, 23 Nov 2007 14:44:54 +0000 (14:44 +0000)]
gallium: initialized draw element buffer to NULL

16 years agogallium: add support for aliased 4ub format
Keith Whitwell [Fri, 23 Nov 2007 12:03:45 +0000 (12:03 +0000)]
gallium: add support for aliased 4ub format

16 years agogallium: support the full range of possible vertex types
Keith Whitwell [Fri, 23 Nov 2007 12:02:50 +0000 (12:02 +0000)]
gallium: support the full range of possible vertex types

16 years agogallium: add draw_stage::destroy().
Michal [Fri, 23 Nov 2007 11:30:51 +0000 (11:30 +0000)]
gallium: add draw_stage::destroy().

16 years agogallium: Comment on winsys's fence functions. Fix comment layout for doxygen.
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.

16 years agotemporary _mesa_printf symbol
keithw [Wed, 21 Nov 2007 17:12:39 +0000 (17:12 +0000)]
temporary _mesa_printf symbol

16 years ago[pipe]: add Offset() util macro
keithw [Wed, 21 Nov 2007 11:04:20 +0000 (11:04 +0000)]
[pipe]: add Offset() util macro

16 years agoDocument return types.
José Fonseca [Tue, 20 Nov 2007 14:27:52 +0000 (14:27 +0000)]
Document return types.

16 years agoadd fence interfaces and buffer create flags to pipe_winsys
keithw [Mon, 19 Nov 2007 20:05:38 +0000 (20:05 +0000)]
add fence interfaces and buffer create flags to pipe_winsys

16 years agoTry to reduce the frequency of calls to pipe->get_tex_surface()
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.

16 years agoshorten loops over color bufs
Brian [Sat, 8 Dec 2007 03:58:01 +0000 (20:58 -0700)]
shorten loops over color bufs

16 years agocode re-org in softpipe_clear()
Brian [Sat, 8 Dec 2007 03:31:26 +0000 (20:31 -0700)]
code re-org in softpipe_clear()

16 years agoclean-ups
Brian [Sat, 8 Dec 2007 03:24:24 +0000 (20:24 -0700)]
clean-ups

16 years agoTile clearing optimizations.
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.

16 years agoDisable, remove tnl module from the Gallium build since no longer used.
Brian [Sat, 8 Dec 2007 00:26:06 +0000 (17:26 -0700)]
Disable, remove tnl module from the Gallium build since no longer used.

16 years agoNew vbo_set_draw_func() to keep vbo context opaque to state tracker and tnl module.
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.

16 years agoDisable swrast, swrast_setup and driverfuncs in the build.
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.

16 years agoMove _mesa_init_glsl_driver_functions() into shader_api.c
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

16 years agoDefine PIPE_FORMAT_ tokens as an enum set, rather than #defines.
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.

16 years agoinclude tgsi_dump.h
Brian [Fri, 7 Dec 2007 23:22:39 +0000 (16:22 -0700)]
include tgsi_dump.h

16 years agoReplace "duplicate" formats
Brian [Fri, 7 Dec 2007 23:15:14 +0000 (16:15 -0700)]
Replace "duplicate" formats

16 years agoGet rid of "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

16 years agoEnable the tile clear "optimization"
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...

16 years agoMake sp_tile_cache_flush_clear() static.
Brian [Fri, 7 Dec 2007 22:46:10 +0000 (15:46 -0700)]
Make sp_tile_cache_flush_clear() static.

Also, misc clean-ups, comments.

16 years agoConvert the clearValue back to floats for sp_tile_cache_clear()
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...

16 years agoSome tile cache improvements, clean-ups.
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.

16 years agodon't dereference pt after realloc - fixes valgrind error
Brian [Fri, 7 Dec 2007 20:19:00 +0000 (13:19 -0700)]
don't dereference pt after realloc - fixes valgrind error

16 years agoadd some whitespace
Brian [Fri, 7 Dec 2007 20:08:28 +0000 (13:08 -0700)]
add some whitespace

16 years agoMove struct softpipe_texture definition into sp_texture.h
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.

16 years agominor code movement
Brian [Fri, 7 Dec 2007 17:18:34 +0000 (10:18 -0700)]
minor code movement

16 years agoAdd PIPE_FORMAT_U_B8_G8_R8_A8 in default_rgba_format().
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().

16 years agobyteswapping fixes in choose_pixel_format()
Brian [Fri, 7 Dec 2007 15:24:56 +0000 (08:24 -0700)]
byteswapping fixes in choose_pixel_format()

16 years agoremove stray ;
Brian [Fri, 7 Dec 2007 15:24:33 +0000 (08:24 -0700)]
remove stray ;

16 years agoRemove obsolete xlib driver files
Brian [Fri, 7 Dec 2007 14:58:31 +0000 (07:58 -0700)]
Remove obsolete xlib driver files

16 years agoOverhaul the Xlib winsys layer.
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.

16 years agoadded ST_SURFACE_DEPTH
Brian [Fri, 7 Dec 2007 14:53:21 +0000 (07:53 -0700)]
added ST_SURFACE_DEPTH

16 years agomove surface pitch calculation so it always gets updated
Brian [Fri, 7 Dec 2007 14:53:06 +0000 (07:53 -0700)]
move surface pitch calculation so it always gets updated

16 years agofix void pointer arithmetic warnings
Brian [Fri, 7 Dec 2007 14:52:35 +0000 (07:52 -0700)]
fix void pointer arithmetic warnings

16 years agosilence void ptr arithmetic warning
Brian [Fri, 7 Dec 2007 14:48:33 +0000 (07:48 -0700)]
silence void ptr arithmetic warning