Commit graph

12316 commits

Author SHA1 Message Date
Brian Paul
fbfe2a58de Fix program refcounting assertion failure during context tear-down
When purging the program hash table, the refcount _should_ be one since
the program is referenced by the hash table.  Need to explicitly set to
zero before calling delete().

Also, purge high-level shader hash tables before low-level program hash tables.
2008-05-19 08:43:36 -06:00
Brian Paul
fd59f19cd2 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

cherry-picked from gallium-0.1
2008-05-18 16:04:55 -06:00
Brian Paul
88c0a74633 additional fog/color matrix changes from gallium-0.1 2008-05-18 15:55:24 -06:00
Brian Paul
6e92968d75 add state vars for color matrix, pixel transfer scale&bias
cherry-picked from gallium-0.1 (068c7bd912)
2008-05-18 15:52:13 -06:00
Brian Paul
2f8fc325ac mesa: added internal post color matrix scale/bias vars
cherry-picked from gallium-0.1 (302daeb2ec)
2008-05-18 15:50:20 -06:00
Brian Paul
0c78c766e4 fixes to _mesa_combine_programs(), from gallium-0.1 2008-05-18 15:46:26 -06:00
Brian Paul
5976a6a75c added div by zero check for Fog.End/Start (from gallium-0.1) 2008-05-18 15:41:36 -06:00
Brian Paul
4b6b0fd526 clean-ups / additions from gallium-0.1 branch 2008-05-18 15:41:01 -06:00
Brian Paul
896c0cc8ec bring in fixes/changes from gallium-0.1 2008-05-16 15:47:55 -06:00
Brian Paul
a2e6beade1 fix an attr/src mix-up when setting-up/binding vertex arrays
This fixes problems with incorrect material coefficients when glMaterial
is called per-vertex.
2008-05-16 15:23:04 -06:00
Brian Paul
f27c6f3139 fix merge collision 2008-05-16 15:17:35 -06:00
Brian Paul
f2632212ad silence warning, new assertion 2008-05-16 15:16:06 -06:00
Shunichi Fuji
e291cf6f8d free(key) in _tnl_UpdateFixedFunctionProgram() 2008-05-16 15:16:06 -06:00
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