Commit graph

12303 commits

Author SHA1 Message Date
Brian Paul
8bdf5b6e64 Fix a program refcounting error, don't share program parameter lists.
The refcounting bug was causing a memleak (unfreed programs).
The old parameter list sharing is not needed since the change in how
uniforms are handled.
2008-05-16 15:16:06 -06:00
Brian Paul
a3e86d43e6 minor changes to aid debugging 2008-05-16 15:16:06 -06:00
Brian Paul
eb4271ea8b remove stray, left-over RefCount++ 2008-05-16 15:16:06 -06:00
Brian Paul
6de6999edc whitespace/formatting 2008-05-16 15:16:06 -06:00
Brian Paul
1af2b14514 init SamplersUsed bits in _mesa_parse_arb_fragment_program 2008-05-16 15:16:06 -06:00
Brian Paul
885cc592df fix assertion typo: s/=/==/ 2008-05-16 15:16:06 -06:00
Shunichi Fuji
e6cd9d88d3 Fix memory leak in _tnl_UpdateFixedFunctionProgram 2008-05-16 13:18:25 -07:00
Brian Paul
0639998ee8 Fix DRI build 2008-05-16 13:15:03 -07:00
Brian Paul
ade508312c Updated GLSL uniform/sampler handling from gallium-0.1 branch
Previously, the shader linker combined the uniforms used by the vertex and
fragment shaders into a combined set of uniforms.  This made the implementation
of glUniform*() simple, but was rather inefficient otherwise.  Now each shader
gets its own set of uniforms (no more modelview matrix showing up in the
fragment shader uniforms, for example).

cherry-picked by hand from gallium-0.1 branch
2008-05-14 16:09:46 -06:00
Brian Paul
c807c1a23f mesa: new functions for managing list/index of uniforms
cherry-picked from gallium-0.1
2008-05-14 13:12:44 -06:00
Brian Paul
e0f160663e clean-up swizzle fields in fog code, fix NegateBase
cherry-picked from gallium-0.1
2008-05-14 13:01:13 -06:00
Brian Paul
bff695b926 sync up with gallium-0.1 changes
New _mesa_num_inst_dst_regs(), _mesa_is_tex_instruction() functions
2008-05-14 13:00:27 -06:00
Brian Paul
6ca948a303 added _mesa_combine_parameter_lists()
cherry-picked from gallium-0.1
2008-05-14 12:53:03 -06:00
Brian Paul
19ad9cf774 mesa: added _mesa_insert_instructions()
Also, use new _mesa_free_instructions() in a few places.

cherry-picked from gallium-0.1
2008-05-14 12:39:41 -06:00
Brian Paul
450136d368 mesa: added _mesa_free_instructions()
cherry-picked from gallium-0.1
2008-05-14 12:37:07 -06:00
Brian Paul
57e222d6e5 fix some additional program refcounting bugs 2008-05-14 12:11:17 -06:00
Xiang, Haihao
4b7d301c94 _generic_read_RGBA_span_BGRA8888_REV_SSE2: It should adjust the source
and target pointers after do the first 2 pixels. fix bug #15850
2008-05-14 09:55:08 +08:00
Dan Nicholson
738d811b04 Don't link demos directly to X libraries
Since the linker will just pull in the libraries needed from libGL, we
don't need to link the demos directly to the X libraries. Fixes #15886.
2008-05-09 16:19:50 -07:00
Dan Nicholson
2d709fe272 autoconf: Allow XCB to be used for GLX
Adds an --enable-xcb switch to use XCB in GLX. This only has an effect
when the driver is DRI.
2008-05-09 07:10:24 -07:00
Dan Nicholson
5dbbde5b22 Default DRI driver directory to match X.Org xserver
Since the only valid consumer of the DRI drivers is the X.Org xserver,
this changes the default DRI driver directory to match xorg-server:
${libdir}/dri. The old default of /usr/X11R6/modules/dri was wrong for
nearly all current systems.
2008-05-09 07:06:52 -07:00
Dan Nicholson
d368eed9c7 autoconf: Attempt to figure out the PIC flags for the platform
This commit adds an autoconf macro, MESA_PIC_FLAGS, which sets the
PIC flags according to platform and static/shared setting. The platform
specifics are taken straight from libtool.m4 and stripped down to just
the flags and platforms we cover in Mesa. This should hopefully make it
possible to use autoconf on non-GCC platforms.

The macro is added external to configure.ac in acinclude.m4 since it's
pretty bloated.

Note to BSDers: Previously, x86 defaulted to non-PIC on FreeBSD. I
didn't carry that preference into this macro. Instead, you can just use
--disable-pic where desired.
2008-05-09 07:05:16 -07:00
Dave Airlie
0dbd5c8640 intel: use new mipmap generation hooks in driver. 2008-05-09 13:51:37 +10:00
Dave Airlie
86bd98c6aa swrast/dri: switch over users of generate_mipmap to new interface 2008-05-09 13:41:02 +10:00
Dave Airlie
0449bab2f8 Revert "mesa/intel: map/unmap texture objects around mipmap generation function."
This reverts commit c50ffc4cb8.

I'll fix this using the mipmap hooks I just picked from gallium-0.1
2008-05-09 13:33:56 +10:00
Brian
d4e1d85dba Remove unused texunit parameter to ctx->Driver.GenerateMipmap()
(cherry picked from commit c3395f4473)
2008-05-09 13:33:29 +10:00
Dave Airlie
a638676473 Added ctx->Driver.GenerateMipmap() driver hook
(cherry picked from commit 4c2f3dbca9)

Conflicts:

	src/mesa/drivers/common/driverfuncs.c
2008-05-09 13:33:06 +10:00
Dave Airlie
c50ffc4cb8 mesa/intel: map/unmap texture objects around mipmap generation function.
This at least stops the compiz brain explosion we were seeing, I do wonder
though if we should somehow be calling intel_generate_mipmap somehow.
2008-05-09 13:02:41 +10:00
Kristian Høgsberg
990e010394 Add RS690M PCI ID. 2008-05-08 19:48:32 -04:00
Brian Paul
b4e75d6c41 disable debug printfs 2008-05-08 10:59:31 -06:00
Brian Paul
4566880656 disable GL_DEPTH_TEST before glDrawPixels in case window has unrequested depth buffer 2008-05-08 08:39:30 -06:00
Brian Paul
6a3fac8711 call glutDestroyWindow() 2008-05-08 08:37:52 -06:00
Xiang, Haihao
9508293e01 mesa: Call RENDER_FINISH on the zero pixel case. 2008-05-08 11:52:57 +08:00
Brian Paul
5b5c931527 fix refcounting bugs in tnl/tex program caches 2008-05-07 18:51:44 -06:00
Brian Paul
12a317b93a updated options/help 2008-05-07 18:11:06 -06:00
Dan Nicholson
a6464b3cb0 Never fail `make clean'
Mostly some pedantic changes such that `make clean' always ignores
errors. Also changed the top clean target to do the `touch
configs/current' dance instead of realclean.
2008-05-07 11:35:23 -07:00
Dan Nicholson
df8134c3cf Run `make clean' in drivers/xorg, too 2008-05-07 10:22:32 -07:00
Dan Nicholson
e8c2b9967f Refactor installation targets
Currently, there is a single path in src/mesa/Makefile to install that
has a few conditionals in it. This commit changes install to act like
default where we loop over $(DRIVER_DIRS), deciding what to do.

A new target, install-headers, has been broken out to accomodate
installing a standalone OSMesa where neither libGL or gl.pc are wanted.
2008-05-07 07:48:29 -07:00
Dan Nicholson
ec813878e4 Ensure recursive makes always propagate errors
There were a couple spots left where a recursive make could fail in a
chain of commands without stopping.
2008-05-07 07:11:49 -07:00
Brian
df43fb661b implement full reference counting for vertex/fragment programs
Use _mesa_reference_vert/fragprog() wherever we assign program pointers.
Fixes a memory corruption bug found with glean/api2 test.
2008-05-06 23:08:51 -06:00
Dan Nicholson
38c5b14853 Update make output for autoconf help 2008-05-06 15:46:40 -07:00
Dan Nicholson
8eee0146f2 Merge branch 'master' of ssh://git.freedesktop.org/git/mesa/mesa 2008-05-06 14:29:59 -07:00
Dan Nicholson
9f948b8c33 Prevent makedepend from running multiple times
The default target in src/mesa/Makefile calls a recursive $(MAKE). With
parallel jobs, this causes makedepend to run twice. Instead, block on
the first make until depend has been created.
2008-05-06 14:29:10 -07:00
Dan Nicholson
c5e2b850ad Always cleanup the makedepend backup files
Consistently cleanup the depend.bak files created by makedepend. Also,
realclean has been changed to use a single find command, which speeds it
up considerably.
2008-05-06 14:00:43 -07:00
Michal Wajdeczko
7f747204ea Add support for ATI_separate_stencil in display lists. 2008-05-06 13:02:06 -07:00
Dan Nicholson
cba14d85a8 Error consistently when running recursive make
When changing directories and running a sub-make, ensure that both the
cd and make commands propagate errors to the parent make.
2008-05-06 12:29:53 -07:00
Dan Nicholson
50f7e6fb5f Add .PHONY targets to top Makefile for non-file targets
When a make target doesn't result in a file of the same name, adding it
to a .PHONY target means make won't look for such a file, speeding the
build up a bit. This allows `make doxygen' to work since otherwise make
will consider the doxygen directory as up to date.
2008-05-06 11:52:34 -07:00
Dan Nicholson
e14ebbce41 autoconf: Replace the configs/current symlink from config.status
Minor tweak so that running config.status will entirely recreate the
configure settings by replacing the configs/current symlink.
2008-05-06 11:28:43 -07:00
Dave Airlie
17adf04e5c i965: fix googleearth in classic mode.
In classic mode googleearth triggered a case where vbos weren't getting accounted properly.
2008-05-06 18:52:47 +10:00
Dan Nicholson
7d016b76e2 autoconf: Sanitize asm build for cross-compiling and --enable-*-bit
Two fixes to the asm configuration:
 - Disable when the user is cross-compiling for x86 or x86_64 since it
   requires running an executable compiled for the target host.
 - If the user has specified --enable-32-bit on x86_64 or --enable-64-bit
   on x86, respect that and choose the correct asm architecture.
2008-05-05 16:57:07 -07:00
Markus Amsler
113f5b14cb r300: fragment.position input needs no blanking out, it's correctly handled in insert_wpos.
fixes bug 15447
2008-05-06 01:32:40 +02:00