Dan Nicholson [Thu, 13 Dec 2007 05:24:06 +0000 (21:24 -0800)]
Merge branch 'master' into autoconf2
Dan Nicholson [Thu, 13 Dec 2007 02:13:04 +0000 (18:13 -0800)]
autoconf: Improve help text for demos and DRI drivers
Changed the text for the default demos to be "auto" instead of "yes"
since that didn't make much sense in this context. Added an example
value for the --with-dri-drivers option as suggested by Brian.
Dan Nicholson [Thu, 13 Dec 2007 01:57:45 +0000 (17:57 -0800)]
autoconf: Update bug address and fix some autoconf warnings
Point bug reports to Bugzilla like bugs.html. Also, a warning from
autoconf w.r.t. AC_OUTPUT was cleaned up.
Dan Nicholson [Thu, 13 Dec 2007 01:49:49 +0000 (17:49 -0800)]
autoconf: Consistently use xlib for the driver name
Brian suggested that there should be more consistency using xlib vs. x11
in the configure script. Changed the options and variables to suit.
Dan Nicholson [Wed, 12 Dec 2007 17:02:31 +0000 (09:02 -0800)]
autoconf: Optional assembly usage with --disable-asm
Allow the user to disable use of assembly code through the --disable-asm
option. This is only relevant on the platforms where assembly is
normally enabled such as Linux and FreeBSD.
Eric Anholt [Tue, 11 Dec 2007 21:21:14 +0000 (13:21 -0800)]
[intel] Assert against conflicting relocation emits in bufmgr_fake.c
Eric Anholt [Wed, 12 Dec 2007 20:09:07 +0000 (12:09 -0800)]
[965] Bug #13600: Fix assertion failure with SRGB textures.
I broke this with cherry-pick resolving on
93c98a466947570e0589b662df49095b2f4bc43c.
Eric Anholt [Wed, 12 Dec 2007 18:25:19 +0000 (10:25 -0800)]
[intel] Move bufmgr back to context instead of screen, fixing glthreads.
Putting the bufmgr in the screen is not thread-safe since the emit_reloc
changes. It also led to a significant performance hit from pthread usage
for the attempted thread-safety (up to 12% of a cpu spent on refcounting
protection in single-threaded 965). The motivation had been to allow
multi-context bufmgr sharing in classic mode, but it wasn't worth the cost.
Dan Nicholson [Wed, 12 Dec 2007 17:12:15 +0000 (09:12 -0800)]
autoconf: Report the compiler options in the summary
Report the compiler flags and macros that will be used in the build.
This just provides a quick way to see what configure has silently been
doing.
Dan Nicholson [Wed, 12 Dec 2007 17:02:31 +0000 (09:02 -0800)]
autoconf: Optional debug build with --enable-debug
Allow the user to set the compiler debug flags and macros through the
option --enable-debug. This addes -DDEBUG to the macros and -g to the
CFLAGS and CXXFLAGS if gcc and g++ are in use.
Dan Nicholson [Wed, 12 Dec 2007 16:48:30 +0000 (08:48 -0800)]
autoconf: More informative errors when pkg-config macros undefined
Added a check that PKG_PROG_PKG_CONFIG is defined before calling it so
the user can see a proper error. Without it, the generated configure
script will just pass on to the next statement and bomb with a strange
shell syntax error.
Keith Packard [Wed, 12 Dec 2007 04:27:13 +0000 (20:27 -0800)]
Block in kernel waiting for fence
Keith Packard [Thu, 6 Dec 2007 22:11:34 +0000 (14:11 -0800)]
Use previous buffer offsets to compute proposed relocations
This takes advantage of the DRM_BO_HINT_PRESUMED_OFFSET change and allows
the kernel to avoid mapping and re-writing buffers when relocations occur.
Dan Nicholson [Tue, 11 Dec 2007 16:21:51 +0000 (08:21 -0800)]
autoconf: Replace configs/current symlink from configure
Rather than having the user run `make autoconf' and have the Makefile
setup the configs/current -> autoconf symlink, we can just do that in
configure. This allows the user to just run `make' to build.
Dan Nicholson [Tue, 11 Dec 2007 16:13:45 +0000 (08:13 -0800)]
autoconf: Replace install-sh with symlink to minstall
Since install-sh is only used to satisfy an autoconf requirement, we
don't need the actual script. Instead, it's now just a symlink to
minstall, which provides a similar install wrapper script.
Dan Nicholson [Sat, 8 Dec 2007 03:11:01 +0000 (19:11 -0800)]
autoconf: Clearer help text for the enable/disable options
Make it clearer what the defaults for the AC_ARG_ENABLE options are and
how to change them.
Dan Nicholson [Fri, 7 Dec 2007 19:25:08 +0000 (11:25 -0800)]
autoconf: Since default DRI drivers to build with master
Sync the default DRI_DIRS with the configs in master. Added some of the
comments from there, too.
Dan Nicholson [Fri, 7 Dec 2007 19:12:20 +0000 (11:12 -0800)]
autoconf: glut doesn't need Xt
Don't link glut with libXt since it's not needed.
(see commit
ce98779571eee3f51d9f571fecf8deb83dd60f78)
Roland Scheidegger [Tue, 11 Dec 2007 14:37:47 +0000 (15:37 +0100)]
add simple test for two-sided stencil functionality
Roland Scheidegger [Thu, 29 Nov 2007 02:08:18 +0000 (03:08 +0100)]
make sure state token values are fully initialized
Eric Anholt [Mon, 10 Dec 2007 22:58:53 +0000 (14:58 -0800)]
[965] Hook up DEBUG_BUFMGR output for bufmgr_fake.
Eric Anholt [Sat, 8 Dec 2007 00:15:49 +0000 (16:15 -0800)]
[965] Convert the driver to dri_bufmgr interface and enable TTM.
This is currently believed to work but be a significant performance loss.
Performance recovery should be soon to follow.
The dri_bo_fake_disable_backing_store() call was added to allow backing store
disable like bufmgr_fake.c did, which is a significant performance win (though
it's missing the no-fence-subdata part).
This commit is a squash merge of the 965-ttm branch, which had some history
I wanted to avoid pulling due to noisiness and brokenness at many points
for git-bisecting.
Eric Anholt [Fri, 7 Dec 2007 23:20:00 +0000 (15:20 -0800)]
[965] Remove dead code in upload_wm_surfaces.
Eric Anholt [Fri, 7 Dec 2007 23:16:42 +0000 (15:16 -0800)]
[965] Move brw_surface_state stack allocation into the function using it.
Dan Nicholson [Fri, 30 Nov 2007 16:49:57 +0000 (08:49 -0800)]
autoconf: Output summary information from configure
Report some of the common settings back to the user after configure
has completed.
Dan Nicholson [Thu, 15 Nov 2007 16:59:57 +0000 (08:59 -0800)]
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.
Dan Nicholson [Thu, 15 Nov 2007 16:59:57 +0000 (08:59 -0800)]
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.
Dan Nicholson [Thu, 15 Nov 2007 16:59:57 +0000 (08:59 -0800)]
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.
Dan Nicholson [Thu, 6 Dec 2007 05:04:15 +0000 (21:04 -0800)]
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.
Dan Nicholson [Thu, 6 Dec 2007 02:47:01 +0000 (18:47 -0800)]
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.
Dan Nicholson [Thu, 6 Dec 2007 02:47:01 +0000 (18:47 -0800)]
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.
Dan Nicholson [Thu, 6 Dec 2007 01:23:00 +0000 (17:23 -0800)]
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.
Dan Nicholson [Tue, 23 Oct 2007 16:25:58 +0000 (09:25 -0700)]
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.
Dan Nicholson [Wed, 5 Dec 2007 18:25:39 +0000 (10:25 -0800)]
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.
Dan Nicholson [Thu, 6 Dec 2007 04:34:59 +0000 (20:34 -0800)]
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.
Dan Nicholson [Thu, 1 Nov 2007 00:12:07 +0000 (17:12 -0700)]
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.
Xiang, Haihao [Fri, 7 Dec 2007 09:33:18 +0000 (17:33 +0800)]
i915: fix the error in the previos commit.
Xiang, Haihao [Fri, 7 Dec 2007 09:26:38 +0000 (17:26 +0800)]
i915: Check the program size when uploading a program. fix bug 13494
Michel Dänzer [Thu, 6 Dec 2007 09:19:22 +0000 (10:19 +0100)]
Minor followup fixes for the previous commit.
George Nassas [Thu, 6 Dec 2007 09:11:05 +0000 (10:11 +0100)]
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 .
Eric Anholt [Thu, 6 Dec 2007 00:57:27 +0000 (16:57 -0800)]
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
a4642f3d18bdaebaba31e5dee72fe5de9d890ffb.
Eric Anholt [Wed, 5 Dec 2007 23:52:13 +0000 (15:52 -0800)]
[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.
Brian [Wed, 5 Dec 2007 22:06:23 +0000 (15:06 -0700)]
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
Xiang, Haihao [Wed, 5 Dec 2007 02:31:35 +0000 (10:31 +0800)]
Don't Swap buffer if a DRIDrawable is entirely obscured
by another window.
Brian [Wed, 5 Dec 2007 01:44:40 +0000 (18:44 -0700)]
Undo changes made to the toyball shaders in commit
d19d0596daf004b56d80f78fa1a329b43c2ebf94
This demo produces the expected results again.
Brian [Tue, 4 Dec 2007 21:06:10 +0000 (14:06 -0700)]
fix span->facing computation and gl_FrontFacing initialization
Brian [Tue, 4 Dec 2007 21:05:26 +0000 (14:05 -0700)]
Fix gl_FrontFacing compilation problem
Brian [Tue, 4 Dec 2007 17:48:05 +0000 (10:48 -0700)]
added culling/wireframe options
Michel Dänzer [Tue, 4 Dec 2007 09:46:45 +0000 (10:46 +0100)]
Use -Bsymbolic for linking all shared objects.
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=10132 .
Also remove comment about SONAME, as SONAME only applies to shared libraries.
Eric Anholt [Mon, 3 Dec 2007 18:58:08 +0000 (10:58 -0800)]
[965] Change constant buffer from state structs to plain batch emission.
Reduces diff to branch which has a relocation in this state emit.
Brian [Mon, 3 Dec 2007 21:14:16 +0000 (14:14 -0700)]
fix DD_TRI_LIGHT_TWOSIDE bug (#13368)
Dan Nicholson [Mon, 3 Dec 2007 19:57:14 +0000 (11:57 -0800)]
Fix the library name in glw.pc
Fix a copy and paste error s/GLU/GLw/ in glw.pc.
Brian [Mon, 3 Dec 2007 18:58:55 +0000 (11:58 -0700)]
glut doesn't need -lXt
Brian [Mon, 3 Dec 2007 18:57:56 +0000 (11:57 -0700)]
added missing quote char
Michel Dänzer [Fri, 30 Nov 2007 10:40:06 +0000 (11:40 +0100)]
i915: Fix up state changes for i8xx.
Eric Anholt [Sat, 1 Dec 2007 02:17:12 +0000 (18:17 -0800)]
[intel] Move batch bo_unmap from TTM code to shared, and add more asserts.
Eric Anholt [Sat, 1 Dec 2007 02:12:23 +0000 (18:12 -0800)]
[intel] Add failure path printfs to relocation code and some comments.
Eric Anholt [Sat, 1 Dec 2007 02:08:17 +0000 (18:08 -0800)]
[intel] Simplify TTM relocation code by passing around bufmgr struct.
Eric Anholt [Fri, 30 Nov 2007 22:15:36 +0000 (14:15 -0800)]
[intel] Fix the type and naming of the flags/mask args to TTM functions.
The uint64_t flags (as defined by drm.h) were being used as unsigned ints in
many places.
Eric Anholt [Fri, 30 Nov 2007 22:14:11 +0000 (14:14 -0800)]
[intel] intel_bufmgr_ttm style sanity
Brian [Fri, 30 Nov 2007 22:52:27 +0000 (15:52 -0700)]
fix-build: remove ctx->_Facing assignment
Brian [Fri, 30 Nov 2007 20:01:57 +0000 (13:01 -0700)]
fix broken two-sided stencil
Brian [Fri, 30 Nov 2007 16:07:39 +0000 (09:07 -0700)]
better front-plane clip test
joukj [Fri, 30 Nov 2007 12:16:05 +0000 (13:16 +0100)]
Updates of some OpenVMS makefiles.
joukj [Fri, 30 Nov 2007 10:12:41 +0000 (11:12 +0100)]
Merge branch 'master' of git+ssh://joukj@git.freedesktop.org/git/mesa/mesa
Xiang, Haihao [Fri, 30 Nov 2007 04:04:04 +0000 (12:04 +0800)]
i965: if source depth to render target is set,
it should be handled in fb_write.
Xiang, Haihao [Fri, 30 Nov 2007 03:50:08 +0000 (11:50 +0800)]
i965: use uncompressed instruction to ensure only
Pixel Mask Copy is modified as the pixel shader thread
turns off pixels based on kill instructions.
Eric Anholt [Thu, 29 Nov 2007 21:00:34 +0000 (13:00 -0800)]
[i915] Make INTEL_DEBUG=bufmgr actually do things for bufmgr_fake.
Brian [Thu, 29 Nov 2007 15:12:33 +0000 (08:12 -0700)]
New ctx->Driver.Map/UnmapTexture() functions for accessing textures from t_vb_program.c
Brian [Wed, 28 Nov 2007 22:55:57 +0000 (15:55 -0700)]
cleanups, comments
Brian [Wed, 28 Nov 2007 22:19:46 +0000 (15:19 -0700)]
Move _mesa_load_tracked_matrices() from TNL module to prog_statevars.c
Michel Dänzer [Wed, 28 Nov 2007 09:20:04 +0000 (10:20 +0100)]
r200: Fix texture format regression on big endian systems.
See https://bugs.freedesktop.org/show_bug.cgi?id=13324 .
Also use tx_table_be for VALID_FORMAT, in case r200SetTexImages ever gets
called for MESA_FORMAT_RGB888.
Xiang, Haihao [Wed, 28 Nov 2007 01:46:43 +0000 (09:46 +0800)]
i965: update RefCount when using Vertex/Fragment program.
It makes quake4-demo works well on 965.
WuNian [Wed, 28 Nov 2007 01:22:42 +0000 (18:22 -0700)]
remove drawable from hash table when window is deleted (see bug 13091)
Delle [Wed, 28 Nov 2007 01:18:25 +0000 (18:18 -0700)]
use DEFAULT_SOFTWARE_DEPTH_BITS
Brian [Tue, 27 Nov 2007 17:31:05 +0000 (10:31 -0700)]
minor additions to avoid FAQs
Brian [Tue, 27 Nov 2007 17:27:55 +0000 (10:27 -0700)]
document GLSL float f/F suffix bug
Brian [Tue, 27 Nov 2007 17:16:51 +0000 (10:16 -0700)]
set fp->UsesKill when emitting OPCODE_KIL
Brian [Mon, 26 Nov 2007 18:39:17 +0000 (11:39 -0700)]
add a few more logicop modes, simplify code
Brian [Mon, 26 Nov 2007 16:35:39 +0000 (09:35 -0700)]
improve 24-bit Z to 32-bit Z conversion
Xiang, Haihao [Tue, 27 Nov 2007 01:45:32 +0000 (09:45 +0800)]
i965: The jump instruction count is added
to IP pre-increment, and should point to
the first instruction after the do instruction
of the do-while block of code
Keith Whitwell [Thu, 15 Nov 2007 09:59:33 +0000 (09:59 +0000)]
i915: Catch cases where not all state is emitted for a new batchbuffer.
This could lead to incorrect rendering or even lockups.
Michel Dänzer [Fri, 9 Nov 2007 17:46:55 +0000 (18:46 +0100)]
i915: Some additional blit fixes and assertions.
Michel Dänzer [Sun, 25 Nov 2007 13:20:36 +0000 (14:20 +0100)]
libGL: Make sure a valid value is returned for GLX_BIND_TO_MIPMAP_TEXTURE_EXT.
If the server didn't send a value, assume it's not supported.
A more generic solution might be better for this kind of problem, but an
attempt for this failed (see https://bugs.freedesktop.org/show_bug.cgi?id=9264)
and this allows compiz to work with drivers that support
GL_EXT_framebuffer_object.
Michel Dänzer [Sun, 25 Nov 2007 13:17:02 +0000 (14:17 +0100)]
intel: Fix relative symlinks.
Brian [Fri, 23 Nov 2007 23:19:25 +0000 (16:19 -0700)]
better test of point attenuation
Brian [Fri, 23 Nov 2007 21:35:46 +0000 (14:35 -0700)]
#define GL_GLEXT_PROTOTYPES to silence warning
Brian [Fri, 23 Nov 2007 19:01:57 +0000 (12:01 -0700)]
Consolidate texture fetch code and use partial derivatives when possible.
Brian [Fri, 23 Nov 2007 17:25:48 +0000 (10:25 -0700)]
Fix parsing of gl_FrontLightModelProduct.sceneColor, don't segfault on variable array indexes.
Brian [Fri, 23 Nov 2007 16:14:39 +0000 (09:14 -0700)]
need to check border width in sample_linear_2d() - fixes failed assertion in texwrap.c test
Brian [Thu, 22 Nov 2007 16:31:16 +0000 (09:31 -0700)]
Consolidate point size computation, clamping in get_size().
Also, apply user-defined clamp limits to point size even when not using
attentuation or program-computed size.
Brian [Thu, 22 Nov 2007 16:29:38 +0000 (09:29 -0700)]
Print point/line size range limits
Roland Scheidegger [Thu, 22 Nov 2007 01:49:11 +0000 (02:49 +0100)]
fix z buffer read/write issue with rv100-like chips and old ddx
Eric Anholt [Mon, 5 Nov 2007 22:55:52 +0000 (14:55 -0800)]
[965] Replace 965 texture format code with common code.
The only functional difference should be that 965 now gets the optimization
where textures default to 16bpp when the screen is 16bpp.
Eric Anholt [Fri, 9 Nov 2007 19:45:25 +0000 (11:45 -0800)]
[965] Remove dead exec vfmt code which was replaced by generic vbo code.
Brian [Mon, 19 Nov 2007 20:05:00 +0000 (13:05 -0700)]
clamp lambda to Min/MaxLod
Eric Anholt [Mon, 19 Nov 2007 22:37:14 +0000 (14:37 -0800)]
[965] Add INTEL_DEBUG=fall debugging output.
Eric Anholt [Mon, 19 Nov 2007 23:26:14 +0000 (15:26 -0800)]
[965] Convert DBG macro to use FILE_DEBUG_FLAG like i915.
Brian [Mon, 19 Nov 2007 17:37:54 +0000 (10:37 -0700)]
fix some texture format assertions, etc
Brian [Mon, 19 Nov 2007 16:55:17 +0000 (09:55 -0700)]
fix out-of-bounds array index (ix=-1)