mesa.git
16 years agogenerate a link error if the vertex shader references too many textures
Brian Paul [Wed, 2 Jul 2008 15:16:10 +0000 (09:16 -0600)]
generate a link error if the vertex shader references too many textures

16 years agoset ctx->Const.MaxVertexTextureImageUnits = 0
Brian Paul [Wed, 2 Jul 2008 15:14:53 +0000 (09:14 -0600)]
set ctx->Const.MaxVertexTextureImageUnits = 0

This disallows vertex shader texture sampling.  See bugs 16157, 13838.

16 years agoVBO: Regenerate files based on recent changes to gl_API.xml
Ian Romanick [Wed, 2 Jul 2008 13:26:11 +0000 (06:26 -0700)]
VBO: Regenerate files based on recent changes to gl_API.xml

Since GL_ARB_vertex_buffer_object protocol isn't supported yet, these
changes are innocuous.

16 years agoBring over commit 8d4d0b47a07a298a20ffae9fefe96c8c7ca9dccc from xserver tree
Paulo Cesar Pereira de Andrade [Wed, 2 Jul 2008 13:22:47 +0000 (06:22 -0700)]
Bring over commit 8d4d0b47a07a298a20ffae9fefe96c8c7ca9dccc from xserver tree

16 years agoVBO: Add missing functions related to VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB
Ian Romanick [Wed, 2 Jul 2008 02:30:32 +0000 (19:30 -0700)]
VBO: Add missing functions related to VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB

16 years agoVBO: add GLX related annotations
Ian Romanick [Wed, 2 Jul 2008 01:20:21 +0000 (18:20 -0700)]
VBO: add GLX related annotations

16 years agomesa: fix a GLSL vector subscript/writemask bug
Brian Paul [Tue, 1 Jul 2008 23:59:07 +0000 (17:59 -0600)]
mesa: fix a GLSL vector subscript/writemask bug

This fixes a failure for cases like:
   vec4 v;
   v[1] *= 2.0;

The v[1] actually acts like a writemask, equivalent to v.y
The fix is a bit convoluted, but will do for now.

16 years agomesa: move some functions
Brian Paul [Tue, 1 Jul 2008 23:52:31 +0000 (17:52 -0600)]
mesa: move some functions

16 years agomesa: make _slang_swizzle_swizzle() non-private
Brian Paul [Tue, 1 Jul 2008 23:50:14 +0000 (17:50 -0600)]
mesa: make _slang_swizzle_swizzle() non-private

16 years agomesa: better function inlining in the presence of 'return' statements
Brian Paul [Tue, 1 Jul 2008 17:41:21 +0000 (11:41 -0600)]
mesa: better function inlining in the presence of 'return' statements

Before, the presence of a 'return' statement always prevented inlining
a function.  This was because we didn't want to accidentally return from
the _calling_ function.  We still need the semantic of 'return' when inlining
but we can't always use unconditional branches/jumps (GPUs don't always
support arbitrary branching).

Now, we allow inlining functions w/ return if the return is the last
statement in the function.  This fixes the common case of a function
that returns a value, such as:

vec4 square(const in vec4 x)
{
   return x * x;
}

which effectively compiles into:

vec4 square(const in vec4 x)
{
   __retVal = x * x;
   return;
}

The 'return' can be no-op'd now and we can inline the function.

16 years agomesa: add/fix some IrInfo entries for debugging purposes
Brian Paul [Tue, 1 Jul 2008 17:41:02 +0000 (11:41 -0600)]
mesa: add/fix some IrInfo entries for debugging purposes

16 years agolink to DRM 2.3.1
Brian Paul [Tue, 1 Jul 2008 15:02:10 +0000 (09:02 -0600)]
link to DRM 2.3.1

16 years agopress 'm' to toggle multisample enable/disable
Brian Paul [Tue, 1 Jul 2008 14:48:48 +0000 (08:48 -0600)]
press 'm' to toggle multisample enable/disable

16 years agoinit machine->Samplers (fixes vertex program texture fetches)
Brian Paul [Tue, 1 Jul 2008 14:48:22 +0000 (08:48 -0600)]
init machine->Samplers (fixes vertex program texture fetches)

16 years agodri: drop asserts to make build against stable libdrm
Dave Airlie [Tue, 1 Jul 2008 08:22:12 +0000 (18:22 +1000)]
dri: drop asserts to make build against stable libdrm

These asserts are of questionable use at the moment with things in flux.

16 years agodri: Take the base image size into account when computing
Xiang, Haihao [Tue, 1 Jul 2008 03:38:07 +0000 (11:38 +0800)]
dri: Take the base image size into account when computing
first level of the mipmap.  fix #16210

16 years agoautoconf: Improve the visibility of the swrast DRI driver
Dan Nicholson [Mon, 30 Jun 2008 17:28:02 +0000 (10:28 -0700)]
autoconf: Improve the visibility of the swrast DRI driver

Improve the --with-dri-drivers help text so that users are aware that
they should install the swrast DRI driver.

16 years agor3xx/r5xx: Enable ARB_point_parameters.
Corbin Simpson [Mon, 30 Jun 2008 18:12:51 +0000 (11:12 -0700)]
r3xx/r5xx: Enable ARB_point_parameters.
This isn't complete yet. It does cover the two most common usage cases,
though, and at least the third one (POINT_DISTANCE_ATTENUATION) is possible,
so I'll do that later.

16 years agor300: Fix dumb mistake in LOD bias translation
Nicolai Haehnle [Mon, 30 Jun 2008 06:37:13 +0000 (08:37 +0200)]
r300: Fix dumb mistake in LOD bias translation

16 years agor300: Cleanup LodBias support
Nicolai Haehnle [Sun, 29 Jun 2008 22:44:26 +0000 (00:44 +0200)]
r300: Cleanup LodBias support

. There is both a per-texture unit and a per-texture object (at least for
OpenGL 1.4); this should now be supported properly.
. The LOD bias calculation in r300_state has been simplified and corrected
  (need to multiply by 32 instead of 31, and ensure clamping)
. do not clamp LOD bias in TexEnv, as that behaviour conflicts with what
  the spec says
. set Const.MaxTextureLodBias properly
. remove the no_neg_lod_bias property; if somebody can explain what
  it's good for, we can add it back in, but according to Google, nobody
  seems to use it
. removed some dead code and unused variables

16 years agor300: Change LOD bias emission to more closely follow per-tex rules.
Corbin Simpson [Sun, 29 Jun 2008 17:30:47 +0000 (10:30 -0700)]
r300: Change LOD bias emission to more closely follow per-tex rules.
Okay, this time it's for real, and for good. This should be a perma-fix.

16 years agoRevert accidental edit to progs/demos/lodbias.
Corbin Simpson [Sun, 29 Jun 2008 17:29:32 +0000 (10:29 -0700)]
Revert accidental edit to progs/demos/lodbias.
*puts yet another paper bag over head*

16 years agodemos/shadowtex: Don't set TEXTURE_WRAP_T for 1D texture
Nicolai Haehnle [Sun, 29 Jun 2008 15:24:32 +0000 (17:24 +0200)]
demos/shadowtex: Don't set TEXTURE_WRAP_T for 1D texture

The operation doesn't really make sense. It triggered a bug in the r300 DRI
driver (and possibly other drivers that simulate 1D textures via 2D textures).
I've added an isolated test case for this bug to Piglit, so everybody wins.

16 years agor300: Fix wrap mode for 1D textures
Nicolai Haehnle [Sun, 29 Jun 2008 15:20:52 +0000 (17:20 +0200)]
r300: Fix wrap mode for 1D textures

16 years agos/GL_INVALID_VALUE/GL_INVALID_OPERATION/ in _mesa_get_uniformfv()
Brian Paul [Sat, 28 Jun 2008 22:48:31 +0000 (16:48 -0600)]
s/GL_INVALID_VALUE/GL_INVALID_OPERATION/ in _mesa_get_uniformfv()

16 years agomesa: added null ptr checks
Brian Paul [Sat, 28 Jun 2008 22:48:23 +0000 (16:48 -0600)]
mesa: added null ptr checks

16 years agoDRI-specific pkg-config file
Dan Nicholson [Thu, 12 Jun 2008 13:46:32 +0000 (06:46 -0700)]
DRI-specific pkg-config file

Since the gl pkg-config file doesn't convey any specifics about the
backend in use, this adds a new pkg-config file for when DRI is in use.
This can be used by the xserver build to determine if the DRI and/or
GLX extensions are appropriate.

16 years agoautoconf: Check for posix_memalign
Dan Nicholson [Wed, 4 Jun 2008 20:17:06 +0000 (13:17 -0700)]
autoconf: Check for posix_memalign

Rather than just defining HAVE_POSIX_MEMALIGN on Linux, check whether
the function exists on all platforms and define the macro if it is.

16 years agoCheck in SwapBuffers for any new pending dri2 events
Alan Hourihane [Thu, 26 Jun 2008 21:53:29 +0000 (22:53 +0100)]
Check in SwapBuffers for any new pending dri2 events

16 years agointel: Fix glCopyPixels when x or y are < 0 in hw coordinates.
Eric Anholt [Tue, 24 Jun 2008 21:04:11 +0000 (14:04 -0700)]
intel: Fix glCopyPixels when x or y are < 0 in hw coordinates.

Nothing would get drawn as the negative coordinates broke the rectangle
intersection code that used unsigned ints.  Tested with copypix demo and
sliding the copy to the upper left.

16 years agoi965: Use the shared intel_pixel_copy.c.
Eric Anholt [Tue, 24 Jun 2008 20:18:40 +0000 (13:18 -0700)]
i965: Use the shared intel_pixel_copy.c.

This disables the textured copy implementation on 965, which didn't appear
to work (mesa copypix demo, disable the blit path, move so that regions don't
overlap and textured is used, and you get garbage).  If we resurrect this for
i965, I'd rather it used the 915-style metaops instead.  Current metaops code
left in place so that whoever picks it up has a reference.

16 years agointel: Same pixel function init for everyone now.
Eric Anholt [Tue, 24 Jun 2008 18:49:21 +0000 (11:49 -0700)]
intel: Same pixel function init for everyone now.

16 years agointel: Avoid glBitmap software fallback for blending when no blending occurs.
Eric Anholt [Tue, 24 Jun 2008 18:44:42 +0000 (11:44 -0700)]
intel: Avoid glBitmap software fallback for blending when no blending occurs.

Mesa demos tend to leave blending on but in GL_ONE/GL_ZERO, or
GL_SRC_ALPHA/GL_ONE_MINUS_SRC_ALPHA with a source alpha of 1.0.

16 years agointel: Merge check_blit_fragment_ops between i915/i965.
Eric Anholt [Tue, 24 Jun 2008 18:34:42 +0000 (11:34 -0700)]
intel: Merge check_blit_fragment_ops between i915/i965.

Both had some useful bits for the other.

16 years agointel: Note reasons for blit pixel op fallbacks under INTEL_DEBUG=pix.
Eric Anholt [Tue, 24 Jun 2008 17:50:10 +0000 (10:50 -0700)]
intel: Note reasons for blit pixel op fallbacks under INTEL_DEBUG=pix.

16 years agoi915: Add support for accelerated glBitmap, shared from 965.
Eric Anholt [Tue, 24 Jun 2008 16:37:07 +0000 (09:37 -0700)]
i915: Add support for accelerated glBitmap, shared from 965.

16 years agoi915: Fix read != draw drawable for glCopyPixels.
Eric Anholt [Tue, 24 Jun 2008 16:48:23 +0000 (09:48 -0700)]
i915: Fix read != draw drawable for glCopyPixels.

Taken from commit bad6e175cf59cce630c37d73f6e71f3a4de50ae6.

16 years agoi915: Allow accelerated pixel ops to be disabled with INTEL_NO_BLIT.
Eric Anholt [Tue, 24 Jun 2008 16:41:58 +0000 (09:41 -0700)]
i915: Allow accelerated pixel ops to be disabled with INTEL_NO_BLIT.

This matches 965.

16 years agoEnsure all objects are built when installing DRI
Dan Nicholson [Mon, 23 Jun 2008 03:29:45 +0000 (20:29 -0700)]
Ensure all objects are built when installing DRI

16 years agoDon't make libmesa.a or libglapi.a depend on asm_subdirs
Dan Nicholson [Mon, 23 Jun 2008 03:26:20 +0000 (20:26 -0700)]
Don't make libmesa.a or libglapi.a depend on asm_subdirs

Since the asm_subdirs target does not actually create a file, make will
always consider that it needs to be rebuilt. If libmesa.a and libglapi.a
have asm_subdirs as a prerequisite, then they will always need to be
rebuilt, too. The correct order will be preserved by the default target,
though.

This should fix #16358.

16 years agoCreate $(TOP)/$(LIB_DIR) for install, too
Dan Nicholson [Mon, 23 Jun 2008 03:19:35 +0000 (20:19 -0700)]
Create $(TOP)/$(LIB_DIR) for install, too

If `make install' is run without running `make' first, the $(LIB_DIR)
will not be created. This also changes the mkdir a little bit so that it
isn't run if necessary and added `-p' so that it is immune to races.

16 years agoreplace __inline and __inline__ with INLINE macro
Brian Paul [Sat, 21 Jun 2008 16:55:24 +0000 (10:55 -0600)]
replace __inline and __inline__ with INLINE macro

16 years agoreplace __inline and __inline__ with INLINE macro
Brian Paul [Sat, 21 Jun 2008 16:52:40 +0000 (10:52 -0600)]
replace __inline and __inline__ with INLINE macro

16 years agoreplace __inline and __inline__ with INLINE macro
Brian Paul [Sat, 21 Jun 2008 16:52:32 +0000 (10:52 -0600)]
replace __inline and __inline__ with INLINE macro

16 years agoreplace __inline and __inline__ with INLINE macro
Brian Paul [Sat, 21 Jun 2008 16:49:45 +0000 (10:49 -0600)]
replace __inline and __inline__ with INLINE macro

16 years ago#undef DEBUG to silence warnings
Brian Paul [Sat, 21 Jun 2008 16:49:40 +0000 (10:49 -0600)]
#undef DEBUG to silence warnings

16 years agoreplace __inline and __inline__ with INLINE macro
Brian Paul [Sat, 21 Jun 2008 16:34:38 +0000 (10:34 -0600)]
replace __inline and __inline__ with INLINE macro

16 years agoreplace __inline and __inline__ with INLINE macro
Brian Paul [Sat, 21 Jun 2008 16:34:00 +0000 (10:34 -0600)]
replace __inline and __inline__ with INLINE macro

16 years agoreplace __inline and __inline__ with INLINE macro
Brian Paul [Sat, 21 Jun 2008 16:30:01 +0000 (10:30 -0600)]
replace __inline and __inline__ with INLINE macro

16 years agoreplace __inline and __inline__ with INLINE macro
Brian Paul [Sat, 21 Jun 2008 16:27:36 +0000 (10:27 -0600)]
replace __inline and __inline__ with INLINE macro

16 years agoreplace __inline and __inline__ with INLINE macro
Brian Paul [Sat, 21 Jun 2008 16:24:43 +0000 (10:24 -0600)]
replace __inline and __inline__ with INLINE macro

16 years agos/inline/INLINE
Brian Paul [Sat, 21 Jun 2008 16:20:54 +0000 (10:20 -0600)]
s/inline/INLINE

16 years agoremove old comments
Brian Paul [Sat, 21 Jun 2008 16:20:31 +0000 (10:20 -0600)]
remove old comments

16 years agoSolaris port of Mesa 7.1 with autoconf support
Alan Coopersmith [Sat, 21 Jun 2008 00:58:53 +0000 (17:58 -0700)]
Solaris port of Mesa 7.1 with autoconf support

Signed-off-by: Brian Paul <brian.paul@tungstengraphics.com>
16 years agoRename quad function to quadr to avoid clash with Solaris quad typedef
Daniel Zhu [Sat, 21 Jun 2008 00:51:39 +0000 (17:51 -0700)]
Rename quad function to quadr to avoid clash with Solaris quad typedef

Signed-off-by: Brian Paul <brian.paul@tungstengraphics.com>
16 years agoMake minstall work with Solaris /bin/sh
Alan Coopersmith [Fri, 6 Jun 2008 23:09:10 +0000 (16:09 -0700)]
Make minstall work with Solaris /bin/sh

Solaris /bin/sh doesn't set $PWD for you

Signed-off-by: Brian Paul <brian.paul@tungstengraphics.com>
16 years agoFix builds with compilers other than gcc 3.0 & newer
Alan Coopersmith [Fri, 6 Jun 2008 23:06:09 +0000 (16:06 -0700)]
Fix builds with compilers other than gcc 3.0 & newer

Add #include "glheader.h" for definition of __builtin_expect for compilers
that don't support it.

Signed-off-by: Brian Paul <brian.paul@tungstengraphics.com>
16 years agoadded pointer to beta/release candidates
Brian Paul [Sat, 21 Jun 2008 16:14:22 +0000 (10:14 -0600)]
added pointer to beta/release candidates

16 years agoR300: 1002:5657 is actually RV410
Alex Deucher [Sat, 21 Jun 2008 14:52:49 +0000 (10:52 -0400)]
R300: 1002:5657 is actually RV410

See bug 14289

16 years agor200: fix typo in r200TryDrawPixels parameter validation (bug 16406)
Roland Scheidegger [Sat, 21 Jun 2008 00:50:11 +0000 (02:50 +0200)]
r200: fix typo in r200TryDrawPixels parameter validation (bug 16406)

16 years agomesa: tweak mipmap level selection for cube maps
Brian Paul [Thu, 19 Jun 2008 20:34:52 +0000 (14:34 -0600)]
mesa: tweak mipmap level selection for cube maps

This is just a hack.  After we convert the 3D texcoord into a face plus 2D
texcoord we need to recompute the partial derivatives and mipmap LOD.
But we don't have the info to do that.  Adjusting the original mipmap
level by -1 seems to give somewhat better results than before though.

16 years agoi915: Bug #14313: Fix accelerated (PBO) ReadPixels.
Eric Anholt [Wed, 18 Jun 2008 20:50:13 +0000 (13:50 -0700)]
i915: Bug #14313: Fix accelerated (PBO) ReadPixels.

Refactoring of mine in 02d5ba849197e19843dad164239b51f18fb16faf broke it
by failing to understand that the masking was about sign extension.

16 years agoi965: add support for Intel 4 series chipsets
Xiang, Haihao [Wed, 18 Jun 2008 07:33:33 +0000 (15:33 +0800)]
i965: add support for Intel 4 series chipsets

16 years agomesa: fix inconsistent use of GL_UNSIGNED_INT vs. GL_UNSIGNED_INT_24_8_EXT for Z...
Brian Paul [Tue, 17 Jun 2008 22:44:04 +0000 (16:44 -0600)]
mesa: fix inconsistent use of GL_UNSIGNED_INT vs. GL_UNSIGNED_INT_24_8_EXT for Z unpacking

16 years agoassorted glide driver fixes
Wilfried Holzke [Tue, 17 Jun 2008 16:07:47 +0000 (10:07 -0600)]
assorted glide driver fixes

16 years agoglu: silence warnings
Brian Paul [Tue, 17 Jun 2008 15:01:32 +0000 (09:01 -0600)]
glu: silence warnings

16 years agomesa: make mm.c use unsigned ints for offsets.
Dave Airlie [Tue, 17 Jun 2008 06:29:45 +0000 (16:29 +1000)]
mesa: make mm.c use unsigned ints for offsets.

If you have a GPU using this code and it has the offsets up in this space,
this fails.

16 years agor300: Make LOD bias a persistent environment variable.
Corbin Simpson [Mon, 16 Jun 2008 18:37:32 +0000 (11:37 -0700)]
r300: Make LOD bias a persistent environment variable.
Per airlied's suggestion.

16 years agoCompute/setup fog coordinates even if vertex program is enabled.
H. Verbeet [Mon, 16 Jun 2008 16:40:32 +0000 (10:40 -0600)]
Compute/setup fog coordinates even if vertex program is enabled.

Only when fog's enabled, of course.
In the usual case, this is just a pass-through operation.

16 years agomesa: allocate pixel zoom arrays on heap, not stack
Brian Paul [Mon, 16 Jun 2008 16:03:05 +0000 (10:03 -0600)]
mesa: allocate pixel zoom arrays on heap, not stack

Fixes stack overflow on Windows.

16 years agoDon't compute vertex fog when fragment program is active.
H. Verbeet [Mon, 16 Jun 2008 15:40:26 +0000 (09:40 -0600)]
Don't compute vertex fog when fragment program is active.

16 years agor300: Fix new incarnation of bug 3195.
Corbin Simpson [Mon, 16 Jun 2008 08:21:42 +0000 (01:21 -0700)]
r300: Fix new incarnation of bug 3195.
tests/bug_3195 doesn't render right, but at least it doesn't segfault this way.

16 years agor300: Forgot to clear old state before writing new state.
Corbin Simpson [Mon, 16 Jun 2008 08:02:16 +0000 (01:02 -0700)]
r300: Forgot to clear old state before writing new state.
Oooops. Hehe.

16 years agor300: Enable LOD bias state emission.
Corbin Simpson [Mon, 16 Jun 2008 06:54:32 +0000 (23:54 -0700)]
r300: Enable LOD bias state emission.
Properly set t->filter_1 for r300_state to emit.
Expect buggies as people see LOD bias enabled for the first time...

16 years agoOops, misordered a few instructions.
Corbin Simpson [Mon, 16 Jun 2008 00:30:07 +0000 (17:30 -0700)]
Oops, misordered a few instructions.
Not like it matters, though, since it's not taking effect yet.

16 years agor300: Unbreak LOD biasing, a bit.
Corbin Simpson [Mon, 16 Jun 2008 00:14:07 +0000 (17:14 -0700)]
r300: Unbreak LOD biasing, a bit.
Needs a bit more work on submission.

16 years agoNo more drivers/xorg
Dan Nicholson [Sun, 15 Jun 2008 16:06:27 +0000 (09:06 -0700)]
No more drivers/xorg

Don't try to clean in xorg since GLcore is gone.

16 years agor5xx: Enable fragment.position, partial ARB_shadow.
Corbin Simpson [Sun, 15 Jun 2008 02:32:33 +0000 (19:32 -0700)]
r5xx: Enable fragment.position, partial ARB_shadow.
I don't like PROGRAM_BUILTIN; could we either patch Mesa or just use a different constant?

16 years agor5xx: Detangle FP fallback and translation switches.
Corbin Simpson [Sun, 15 Jun 2008 00:51:04 +0000 (17:51 -0700)]
r5xx: Detangle FP fallback and translation switches.
r5xx should fallback if it encounters a bad FP.
TODO: Re-enable the dumb shader so we don't have to completely fallback.

16 years agor300: Add radeonTransformALU and fix a bug in r300_fragprog DPH
Nicolai Haehnle [Sat, 14 Jun 2008 21:09:15 +0000 (23:09 +0200)]
r300: Add radeonTransformALU and fix a bug in r300_fragprog DPH

This new generic transform replaces "special" instructions by more generic
variants. Hopefully, we will be able to share this code between r300 and r500.

16 years agor300_fragprog: Use less complex instructions
Nicolai Haehnle [Sat, 14 Jun 2008 18:26:10 +0000 (20:26 +0200)]
r300_fragprog: Use less complex instructions

MOV, ADD and MUL do not fit the hardware as well as MAD, but they are less
complex and thus leave more room for future optimizations.

16 years agor5xx: More FP rewriting; fix texrect FP insts.
Corbin Simpson [Sat, 14 Jun 2008 15:56:03 +0000 (08:56 -0700)]
r5xx: More FP rewriting; fix texrect FP insts.

16 years agor5xx: New FP code, take two.
Corbin Simpson [Sat, 14 Jun 2008 14:21:40 +0000 (07:21 -0700)]
r5xx: New FP code, take two.
Add the code emission source file, and comment out unneeded tex de-swizzling.

16 years agor5xx: FP refactor, take one.
Corbin Simpson [Sat, 14 Jun 2008 14:03:08 +0000 (07:03 -0700)]
r5xx: FP refactor, take one.
Yes, I know it's massive. Imagine how I felt, auditing 3000 lines of code.

16 years agor3xx/r5xx: Don't force aniso.
Corbin Simpson [Sat, 14 Jun 2008 11:37:09 +0000 (04:37 -0700)]
r3xx/r5xx: Don't force aniso.
*Pulls paper bag down over head*

16 years agor300: Implement GL_ARB_shadow and GL_EXT_shadow_funcs
Nicolai Haehnle [Sat, 14 Jun 2008 02:07:51 +0000 (04:07 +0200)]
r300: Implement GL_ARB_shadow and GL_EXT_shadow_funcs

16 years agotexenvprogram: Mark textures using ARB_shadow as ShadowSamplers
Nicolai Haehnle [Sat, 14 Jun 2008 00:28:58 +0000 (02:28 +0200)]
texenvprogram: Mark textures using ARB_shadow as ShadowSamplers

Since ARB_fragment_program and friends are defined to ignore the setting of
the GL_TEXTURE_COMPARE_FUNC parameter, we have to explicitly enable the
shadow comparison by marking the texture unit in ShadowSamplers when
appropriate.

16 years agor300: Add radeonCompilerDump for debugging
Nicolai Haehnle [Sat, 14 Jun 2008 01:34:09 +0000 (03:34 +0200)]
r300: Add radeonCompilerDump for debugging

16 years agor300_fragprog: Refactor TEX transformation
Nicolai Haehnle [Fri, 13 Jun 2008 23:46:19 +0000 (01:46 +0200)]
r300_fragprog: Refactor TEX transformation

Streamlining source and destination registers, as well as texcoord scaling for
RECT textures is now done in a radeon_program based transformation.

The idea is that this will allow us to optimize away unnecessary indirections
more easily.

16 years agor300: Add radeon_program and trivial refactoring of r300_fragprog to use it
Nicolai Haehnle [Fri, 13 Jun 2008 21:46:04 +0000 (23:46 +0200)]
r300: Add radeon_program and trivial refactoring of r300_fragprog to use it

The idea/hope is that radeon_program will serve as an intermediate
representation for r3xx up to r6xx fragment and vertex programs.
Right now, it is nothing more than a simplistic wrapper around Mesa's
prog_instruction, together with the notion of clauses, taken from r6xx docs.

The clauses will eventually be used to represent the nodes that are used in
r300 family fragment programs.

16 years agor300: Do not include r300_fragprog.h from r300_context.h and other cleanups
Nicolai Haehnle [Fri, 13 Jun 2008 20:09:37 +0000 (22:09 +0200)]
r300: Do not include r300_fragprog.h from r300_context.h and other cleanups

16 years agor300_fragprog: Remove dead declarations, move NOP declarations into source
Nicolai Haehnle [Fri, 13 Jun 2008 20:03:26 +0000 (22:03 +0200)]
r300_fragprog: Remove dead declarations, move NOP declarations into source

16 years agor300_fragprog: Refactoring and cleanup
Nicolai Haehnle [Fri, 13 Jun 2008 19:43:09 +0000 (21:43 +0200)]
r300_fragprog: Refactoring and cleanup

Refactor so that r300_pfs_compile_state "owns"/holds a pointer to
r300_fragment_program instead of the other way round. This is more natural from
an object orientation point of view.

Move the compiled hardware state into r300_fragment_program_code, in
anticipation of on-the-fly program recompilation based on external OpenGL
state.

16 years agor300_fragprog: Remove dead code
Nicolai Haehnle [Fri, 13 Jun 2008 18:03:17 +0000 (20:03 +0200)]
r300_fragprog: Remove dead code

16 years agor300/r500: Separate fragprog compiler structures
Nicolai Haehnle [Fri, 13 Jun 2008 18:49:52 +0000 (20:49 +0200)]
r300/r500: Separate fragprog compiler structures

r500 code still used r300_pfs_compile_state, which contains some fields that
really only make sense on r3xx type hardware. In order to allow both fragprog
implementations to go forward without disturbing each other, I've pushed this
structure down into the respective r[3|5]00_fragprog.c

16 years agor300: Fix depth texture GL_LUMINANCE vs. GL_INTENSITY mixup
Nicolai Haehnle [Fri, 13 Jun 2008 16:41:16 +0000 (18:41 +0200)]
r300: Fix depth texture GL_LUMINANCE vs. GL_INTENSITY mixup

16 years agor300: Reenable t->filter_1 (though currently not used)
Nicolai Haehnle [Sat, 7 Jun 2008 12:17:56 +0000 (14:17 +0200)]
r300: Reenable t->filter_1 (though currently not used)

16 years agoglx: load swrast_dri.so
George Sapountzis [Fri, 13 Jun 2008 12:54:08 +0000 (15:54 +0300)]
glx: load swrast_dri.so

caveats:

- does not work with old (i.e. libGLcore) xserver:

- made unbindContext a noop

- extensions:

  GLX_SGI_make_current_read
  GLX_EXT_texture_from_pixmap
  GLX_MESA_copy_sub_buffer

16 years agodri/swrast: make unbind a noop
George Sapountzis [Fri, 13 Jun 2008 12:52:32 +0000 (15:52 +0300)]
dri/swrast: make unbind a noop

This is for loading swrast_dri.so from libGL.

MakeContextCurrent() seems to unbind the context right after binding it and
DRI drivers also have a noop DriverAPI.UnbindContext ...

16 years agodri/swrast: add OpenGL 2.1 functions
George Sapountzis [Fri, 13 Jun 2008 12:48:34 +0000 (15:48 +0300)]
dri/swrast: add OpenGL 2.1 functions