Commit graph

201327 commits

Author SHA1 Message Date
Brian
6070a0eb2b include tgsi_dump.h 2007-12-07 16:22:39 -07:00
Brian
d3e05111c8 Replace "duplicate" formats 2007-12-07 16:15:14 -07:00
Brian
2067eed9d3 Get rid of "duplicate" formats.
For example, replace PIPE_FORMAT_U_A8_R8_G8_B8 with PIPE_FORMAT_A8R8G8B8_UNORM
2007-12-07 16:01:31 -07:00
Brian
099bf3ffe9 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...
2007-12-07 15:47:39 -07:00
Brian
872caf6089 Make sp_tile_cache_flush_clear() static.
Also, misc clean-ups, comments.
2007-12-07 15:46:10 -07:00
Brian
c69c7a6054 Convert the clearValue back to floats for sp_tile_cache_clear()
It might be nice if sp->clear() took the color/value as floats...
2007-12-07 15:44:58 -07:00
Dan Nicholson
9cad8e312f autoconf: Output summary information from configure
Report some of the common settings back to the user after configure
has completed.
2007-12-07 14:34:27 -08:00
Dan Nicholson
af3d2f292d autoconf: Configurable DRI drivers
The user can request specific DRI drivers to build rather than the
default of "all that build on this platform". This allows the list of
drivers to be easily slimmed down.

This is controlled through the option --with-dri-drivers. For example:

    ./configure --with-driver=dri --with-dri-drivers="i965,nouveau"

Unfortunately, using this setting means the DRI drivers aren't filtered
by platform anymore and you might try to build something that doesn't
work.
2007-12-07 14:34:27 -08:00
Dan Nicholson
88586332d3 autoconf: Allow static library builds
Allow the user to specify that they want static libraries through the
--{enable,disable}-{static,shared} switches like libtool. The mesa build
only allows for one at a time, so static will be chosen if someone has
passed --enable-static or --disable-shared.

This also allows the mklib options to be set at build time. This allows
-static to be set for mklib, but any platform specific settings are
allowed by setting MKLIB_OPTIONS for configure.

Handling of the program libraries through the APP_LIB_DEPS variable is
pretty ugly, but it seems to work.
2007-12-07 14:34:27 -08:00
Dan Nicholson
8e4d147430 autoconf: Configurable demos directories
The user can request specific demos directories to build in. For
example:

    ./configure --with-demos="demos,xdemos"

The drawback is that we don't check for the necessary libararies in
that case, only that the directory in progs/ exists.
2007-12-07 14:34:27 -08:00
Dan Nicholson
6689f9ebcb autoconf: Configure the osmesa channel size for OSMesa16 and OSMesa32
Allow the user to specify channel bits of 16 or 32 to enable OSMesa16 or
OSMesa32 instead of the default OSMesa. This option is controlled
through the option --with-osmesa-bits=BITS and is only honored when the
driver is osmesa.

The osdemos are not enabled in the 16 or 32 bit case because the
Makefile is currently hardcoded to link to -lOSMesa.
2007-12-07 14:34:27 -08:00
Dan Nicholson
979ff5153d autoconf: Add support for osmesa-only builds
Added autoconf support for using OSMesa as the driver instead linking
it to libGL. This is enabled through --with-driver=osmesa.

To differentiate these cases, another option --enable-x11-osmesa is used
to enable or disable building OSMesa when the driver is x11.
2007-12-07 14:34:27 -08:00
Dan Nicholson
44d9914b29 autoconf: Add support for shared DRI build on linux and freebsd
Added autoconf bits to allow using DRI as the driver through the option
--with-dri-driver=DRIVER. The options are x11 (default) and dri. Three
DRI specific options for controlling the driver directory, direct
rendering and TLS are also added.

The DRI will probably not work for platforms besides linux and freebsd.
2007-12-07 14:34:27 -08:00
Dan Nicholson
72796238f8 autoconf: Include necessary files for the tarballs
Add targets to the top Makefile so that configure and the necessary
scripts are added to the tarball for distribution.

Variables are used for autoconf and aclocal in case anyone needs to use
a specific version or pass any extra flags.
2007-12-07 14:34:27 -08:00
Dan Nicholson
dca1b796b7 autoconf: Initial support for an autoconf configuration
This adds the initial support for using autoconf configuration. Support
is available for shared Xlib driver builds. Later this will be extended
to dri and osmesa-only builds and possibly targetting non-X backends.
Support for static library builds will also be added.

The configure script fills in the autoconf config. This is then used by
running `make autoconf' after ./configure.

Testing has been done on Linux/GNU. The configure script tries to
faithfully reproduce the current configs/linux* and configs/freebsd*.
Other platforms can be handled later by adding similar statements and
feature tests.

Pkg-config is used to search for packages when possible. This makes the
build much more flexible and robust to the user's configuration. This
requires that the pkg-config autoconf macros pkg.m4 are included in
aclocal.m4. This requires autoconf and aclocal from autoconf and
automake, respectively.
2007-12-07 14:34:27 -08:00
Dan Nicholson
d5cee90cf5 autoconf: Add support files required for autoconf use
The standard autoconf initialization macros require that config.guess,
config.sub and install-sh exist. The config.* scripts are from gnulib
HEAD, and the install-sh script is from automake HEAD.
2007-12-07 14:34:27 -08:00
Brian
57df347bb8 Some tile cache improvements, clean-ups.
Code for optimized clears (per-tile flag indicating clear status) in place
but not enabled yet.
2007-12-07 15:32:13 -07:00
Dan Nicholson
f1efacb92b Make osdemos linking like other programs
Most of the programs list their dependencies on the Mesa libraries in
their Makefiles. This works with the default configuration where
APP_LIB_DEPS only lists external libraries. This changes the
linux-osmesa configs and the osdemos Makefile to follow that convention.

Some cleanup of the Makefile is also added to refer to the GL libraries
through the existing variables rather than hardcoding their names.
2007-12-07 14:10:27 -08:00
Brian
dd87c43a44 don't dereference pt after realloc - fixes valgrind error 2007-12-07 13:19:00 -07:00
Brian
e6b5cf342e add some whitespace 2007-12-07 13:08:28 -07:00
Dan Nicholson
6aaf9bdd41 configs: Fix linking with static libGL and --as-needed
Linking of the programs breaks when using a static libGL and the GNU ld
option --as-needed. This is because libXext is needed for the XShm
functions.
2007-12-07 11:49:40 -08:00
Brian
4c90dc7027 Move struct softpipe_texture definition into sp_texture.h
Also, added softpipe_texture() cast wrapper.
2007-12-07 10:21:56 -07:00
Brian
94a3cb078d minor code movement 2007-12-07 10:18:34 -07:00
Brian
da3dfe58b2 Add PIPE_FORMAT_U_B8_G8_R8_A8 in default_rgba_format().
Also, rewrite/simplify default_rgba_format() and default_depth_format().
2007-12-07 08:28:59 -07:00
Brian
0d1669f530 byteswapping fixes in choose_pixel_format() 2007-12-07 08:24:56 -07:00
Brian
9772bb7f71 remove stray ; 2007-12-07 08:24:33 -07:00
Brian
e920f367ed Remove obsolete xlib driver files 2007-12-07 07:58:31 -07:00
Brian
749d723287 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.
2007-12-07 07:57:54 -07:00
Brian
f77ce9e4fa added ST_SURFACE_DEPTH 2007-12-07 07:53:21 -07:00
Brian
ee6b39cfe6 move surface pitch calculation so it always gets updated 2007-12-07 07:53:06 -07:00
Brian
5823f99d0f fix void pointer arithmetic warnings 2007-12-07 07:52:35 -07:00
Brian
b9300f16c4 silence void ptr arithmetic warning 2007-12-07 07:48:33 -07:00
Michel Dänzer
b859cdf6f1 Eliminate struct pipe_region.
Directly use struct pipe_buffer_handle for storage and struct pipe_surface for
(un)mapping.
2007-12-07 12:30:35 +01:00
Xiang, Haihao
e2ca788ae7 i915: fix the error in the previos commit. 2007-12-07 17:33:18 +08:00
Xiang, Haihao
c1a3ac0e45 i915: Check the program size when uploading a program. fix bug 13494 2007-12-07 17:26:38 +08:00
Stephane Marchesin
fecb3ce586 Use write posting in the kickoff function too. 2007-12-07 02:31:40 +01:00
Michel Dänzer
987d59bb83 Remove remnants of 'intel' from active state tracker code. 2007-12-06 11:30:34 +01:00
Michel Dänzer
d492b388c9 st_mesa_format_to_pipe_format: Handle MESA_FORMAT_ARGB4444. 2007-12-06 11:25:40 +01:00
Michel Dänzer
753db0d840 Hide texture layout details from the state tracker.
pipe->get_tex_surface() has to be used for access to texture image data.
2007-12-06 11:18:11 +01:00
Michel Dänzer
62f6e55013 Minor followup fixes for the previous commit. 2007-12-06 10:19:22 +01:00
George Nassas
17afc800c9 Always call dlopen in DriverOpen.
This increases the reference count for the driver binary, preventing it from
getting unloaded prematurely in driDestroyDisplay. See
https://bugs.freedesktop.org/show_bug.cgi?id=13541 .
2007-12-06 10:11:05 +01:00
Eric Anholt
125bd4cae5 Revert "[965] Add missing flagging of new stage programs for updating stage state."
I had forgotten part of brw_state_cache.c that made this fix not relevant for
master (last_addr comparison and flagging based on cache id).

This reverts commit a4642f3d18.
2007-12-05 16:57:27 -08:00
Eric Anholt
a4642f3d18 [965] Add missing flagging of new stage programs for updating stage state.
Otherwise, choosing a new program wouldn't necessarily update the state, and
and an old program could be executed, leading to various sorts of pretty
pictures or hangs.
2007-12-05 16:44:49 -08:00
Brian
259eacfa94 Fix endianness bug in _mesa_texstore_argb8888()
On big-endian, storing in _mesa_texformat_argb8888 format produced wrong res
Also, clean-up nearby code to match.

picked from gallium-0.1 branch
2007-12-05 15:06:23 -07:00
Brian
5935626818 Add dependency checking for Cell driver sources. 2007-12-05 14:57:19 -07:00
Brian
ce30f0550f silence warning 2007-12-05 14:54:29 -07:00
Brian
146483d541 added PIPE_FORMAT_U_B8_G8_R8_A8 case in color_value() 2007-12-05 14:54:19 -07:00
Brian
3eadbe64bf 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.
2007-12-05 14:53:19 -07:00
Brian
9df0a6dd9c added B8G8R8A8 support and improved pixel format selection when doing remote display to X server of different endianness. 2007-12-05 14:51:08 -07:00
Brian
04516cfcaf added tile funcs for B8G8R8A8 format 2007-12-05 14:48:09 -07:00