mesa.git
16 years agoMerge branch 'upstream-gallium-0.1' into darktama-gallium-0.1
Ben Skeggs [Mon, 10 Dec 2007 23:01:59 +0000 (10:01 +1100)]
Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1

Conflicts:

src/mesa/drivers/dri/Makefile.template

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 agoMerge branch 'upstream-gallium-0.1' into darktama-gallium-0.1
Ben Skeggs [Mon, 10 Dec 2007 10:09:52 +0000 (21:09 +1100)]
Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1

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 agonv40: more flexible vbo format translation
Ben Skeggs [Mon, 10 Dec 2007 05:47:47 +0000 (16:47 +1100)]
nv40: more flexible vbo format translation

16 years agoMerge branch 'upstream-gallium-0.1' into darktama-gallium-0.1
Ben Skeggs [Mon, 10 Dec 2007 05:30:24 +0000 (16:30 +1100)]
Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1

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

16 years agonouveau: fix elusive dma bug
Ben Skeggs [Mon, 10 Dec 2007 04:16:05 +0000 (15:16 +1100)]
nouveau: fix elusive dma bug

In some situations WAIT_RING would get called while the GPU was processing
data from outside the "master" ring, which caused dma.free to be updated
incorrectly and much fun was had.

WAIT_RING will now wait until it reads GET values from within the main ring
buffer before calculating free space.

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 agonouveau: add callbacks for signalled fences
Ben Skeggs [Mon, 10 Dec 2007 02:19:47 +0000 (13:19 +1100)]
nouveau: add callbacks for signalled fences

16 years agonouveau: fix build
Ben Skeggs [Mon, 10 Dec 2007 01:13:00 +0000 (12:13 +1100)]
nouveau: fix build

16 years agoMerge branch 'upstream-gallium-0.1' into darktama-gallium-0.1
Ben Skeggs [Mon, 10 Dec 2007 01:06:59 +0000 (12:06 +1100)]
Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1

Conflicts:

src/mesa/drivers/dri/intel_winsys/intel_winsys_pipe.c
src/mesa/pipe/Makefile
src/mesa/pipe/draw/draw_vertex_fetch.c
src/mesa/pipe/i915simple/i915_texture.c
src/mesa/pipe/softpipe/sp_texture.c
src/mesa/pipe/xlib/xm_winsys.c
src/mesa/state_tracker/st_cb_fbo.c

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 agonouveau: give resources a start property
Ben Skeggs [Sun, 9 Dec 2007 15:07:47 +0000 (02:07 +1100)]
nouveau: give resources a start property

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 agoMerge branch 'nouveau-gallium-0.1' into darktama-gallium-0.1
Ben Skeggs [Sun, 9 Dec 2007 11:32:09 +0000 (22:32 +1100)]
Merge branch 'nouveau-gallium-0.1' into darktama-gallium-0.1

16 years agonouveau: downgrade hacked syncs to hacked flushes
Ben Skeggs [Sun, 9 Dec 2007 11:25:35 +0000 (22:25 +1100)]
nouveau: downgrade hacked syncs to hacked flushes

Unfortunately we still need to keep the forced flushes as mesa's vbo path
is still insane.  But, at least this is a little less brutal.  The bo code will
detect when it needs to do a sync.

16 years agonouveau: relocs are per-pushbuf, not per-channel
Ben Skeggs [Sun, 9 Dec 2007 10:44:46 +0000 (21:44 +1100)]
nouveau: relocs are per-pushbuf, not per-channel

16 years agonouveau: use "indirect" push buffers
Ben Skeggs [Sun, 9 Dec 2007 09:38:08 +0000 (20:38 +1100)]
nouveau: use "indirect" push buffers

16 years agonouveau: adapt to gallium interface changes
Ben Skeggs [Sat, 8 Dec 2007 16:22:14 +0000 (03:22 +1100)]
nouveau: adapt to gallium interface changes

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

16 years agoEliminate struct pipe_region.
Michel Dänzer [Fri, 7 Dec 2007 11:30:35 +0000 (12:30 +0100)]
Eliminate struct pipe_region.

Directly use struct pipe_buffer_handle for storage and struct pipe_surface for
(un)mapping.

16 years agoRemove remnants of 'intel' from active state tracker code.
Michel Dänzer [Thu, 6 Dec 2007 10:30:34 +0000 (11:30 +0100)]
Remove remnants of 'intel' from active state tracker code.

16 years agost_mesa_format_to_pipe_format: Handle MESA_FORMAT_ARGB4444.
Michel Dänzer [Thu, 6 Dec 2007 10:25:40 +0000 (11:25 +0100)]
st_mesa_format_to_pipe_format: Handle MESA_FORMAT_ARGB4444.

16 years agoHide texture layout details from the state tracker.
Michel Dänzer [Fri, 30 Nov 2007 19:48:03 +0000 (20:48 +0100)]
Hide texture layout details from the state tracker.

pipe->get_tex_surface() has to be used for access to texture image data.

16 years agoAdd dependency checking for Cell driver sources.
Brian [Wed, 5 Dec 2007 21:57:19 +0000 (14:57 -0700)]
Add dependency checking for Cell driver sources.

16 years agosilence warning
Brian [Wed, 5 Dec 2007 21:54:29 +0000 (14:54 -0700)]
silence warning

16 years agoadded PIPE_FORMAT_U_B8_G8_R8_A8 case in color_value()
Brian [Wed, 5 Dec 2007 21:54:19 +0000 (14:54 -0700)]
added PIPE_FORMAT_U_B8_G8_R8_A8 case in color_value()

16 years agoFix endianness bug in _mesa_texstore_argb8888()
Brian [Wed, 5 Dec 2007 21:53:19 +0000 (14:53 -0700)]
Fix endianness bug in _mesa_texstore_argb8888()

On big-endian, storing in _mesa_texformat_argb8888 format produced wrong results.
Also, clean-up nearby code to match.

16 years agoadded B8G8R8A8 support and improved pixel format selection when doing remote display...
Brian [Wed, 5 Dec 2007 21:51:08 +0000 (14:51 -0700)]
added B8G8R8A8 support and improved pixel format selection when doing remote display to X server of different endianness.

16 years agoadded tile funcs for B8G8R8A8 format
Brian [Wed, 5 Dec 2007 21:48:09 +0000 (14:48 -0700)]
added tile funcs for B8G8R8A8 format

16 years agoadded B8G8R8A8 format
Brian [Wed, 5 Dec 2007 21:47:27 +0000 (14:47 -0700)]
added B8G8R8A8 format

16 years agoadded -fPIC
Brian [Sun, 2 Dec 2007 22:34:27 +0000 (15:34 -0700)]
added -fPIC

16 years agodon't build libglw
Brian [Sun, 2 Dec 2007 22:34:14 +0000 (15:34 -0700)]
don't build libglw

16 years agoInitial Cell driver infrastructure.
Brian [Sun, 2 Dec 2007 22:23:51 +0000 (15:23 -0700)]
Initial Cell driver infrastructure.

No real code yet.  Just stand-ins and make/build infrastructure.

16 years agoglut doesn't need -lXt
Brian [Sun, 2 Dec 2007 22:20:13 +0000 (15:20 -0700)]
glut doesn't need -lXt

16 years agoCover state tracker and winsys driver. Tweak parameters.
José Fonseca [Sun, 2 Dec 2007 17:13:28 +0000 (17:13 +0000)]
Cover state tracker and winsys driver. Tweak parameters.

16 years agoMove dimensions from struct pipe_region to struct pipe_surface.
Michel Dänzer [Wed, 28 Nov 2007 18:04:54 +0000 (19:04 +0100)]
Move dimensions from struct pipe_region to struct pipe_surface.

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.