mesa.git
16 years agomesa: glsl: additional error detection
Brian Paul [Thu, 24 Jul 2008 23:49:33 +0000 (17:49 -0600)]
mesa: glsl: additional error detection

Plus begin some fixes for vec/matrix constructors.

16 years agomesa: gls: fix broken else clause of conditional break/continue
Brian Paul [Thu, 24 Jul 2008 21:49:09 +0000 (15:49 -0600)]
mesa: gls: fix broken else clause of conditional break/continue

In the following case:

   for () {
      if (cond)
         break;  // or continue;
      else
         something;
   }

The "something" block didn't get emitted.

16 years agomesa: glsl: only try to link shaders defining main()
Brian Paul [Thu, 24 Jul 2008 20:56:54 +0000 (14:56 -0600)]
mesa: glsl: only try to link shaders defining main()

16 years agomesa: Silence compiler warning on windows.
Michal Krol [Thu, 24 Jul 2008 09:03:05 +0000 (11:03 +0200)]
mesa: Silence compiler warning on windows.

16 years agomesa: glsl: fix/simplify array element handling
Brian Paul [Wed, 23 Jul 2008 21:04:25 +0000 (15:04 -0600)]
mesa: glsl: fix/simplify array element handling

Also fix bug in comparing large structs/arrays.

16 years agomesa: glsl: mark constructor params as const
Brian Paul [Wed, 23 Jul 2008 18:00:48 +0000 (12:00 -0600)]
mesa: glsl: mark constructor params as const

16 years agomesa: glsl: rework swizzle storage handling
Brian Paul [Wed, 23 Jul 2008 00:27:56 +0000 (18:27 -0600)]
mesa: glsl: rework swizzle storage handling

Build on the heirarchal approach implemented for arrays/structs.

16 years agomesa: fix uninitialized var
Brian Paul [Tue, 22 Jul 2008 23:38:55 +0000 (17:38 -0600)]
mesa: fix uninitialized var

16 years agomesa: glsl: implement constructor functions for user-defined types
Brian Paul [Tue, 22 Jul 2008 21:17:10 +0000 (15:17 -0600)]
mesa: glsl: implement constructor functions for user-defined types

16 years agomesa: remove stray debug assertion
Brian Paul [Tue, 22 Jul 2008 17:54:22 +0000 (11:54 -0600)]
mesa: remove stray debug assertion

16 years agomesa: fix glUniform error checking for samplers
Brian [Tue, 22 Jul 2008 02:42:05 +0000 (20:42 -0600)]
mesa: fix glUniform error checking for samplers

16 years agomesa: refactor: move _mesa_Bind/Gen/DeleteProgram() to arbprogram.c
Brian Paul [Tue, 29 Jul 2008 23:19:25 +0000 (17:19 -0600)]
mesa: refactor: move _mesa_Bind/Gen/DeleteProgram() to arbprogram.c

No API-level functions now in program.c.

16 years agomesa: initial support for GLSL struct/array comparisons
Brian Paul [Mon, 21 Jul 2008 23:18:22 +0000 (17:18 -0600)]
mesa: initial support for GLSL struct/array comparisons

16 years agomesa: added null ptr check (error handling case)
Brian Paul [Mon, 21 Jul 2008 22:04:56 +0000 (16:04 -0600)]
mesa: added null ptr check (error handling case)

16 years agomesa: fix +=, -=, etc. operators
Brian Paul [Mon, 21 Jul 2008 22:04:24 +0000 (16:04 -0600)]
mesa: fix +=, -=, etc. operators

16 years agomesa: remove an error check for NV_v_p that doesn't apply to ARB_v_p
Brian Paul [Mon, 21 Jul 2008 20:23:33 +0000 (14:23 -0600)]
mesa: remove an error check for NV_v_p that doesn't apply to ARB_v_p

16 years agomesa: fix some issues in _mesa_validate_program()
Brian Paul [Mon, 21 Jul 2008 20:16:07 +0000 (14:16 -0600)]
mesa: fix some issues in _mesa_validate_program()

16 years agomesa: assorted glsl uniform/attribute fixes
Brian Paul [Mon, 21 Jul 2008 19:58:50 +0000 (13:58 -0600)]
mesa: assorted glsl uniform/attribute fixes

Fix incorrect uniform/attribute size query results.
Add missing error checking for glUniform, glUniformMatrix params
Fix an array size/allocation error.

16 years agomesa: glsl: various writemask/swizzle improvements and clean-ups
Brian Paul [Sat, 19 Jul 2008 01:46:19 +0000 (19:46 -0600)]
mesa: glsl: various writemask/swizzle improvements and clean-ups

16 years agomesa: rework array/struct addressing code.
Brian Paul [Tue, 29 Jul 2008 23:15:08 +0000 (17:15 -0600)]
mesa: rework array/struct addressing code.

The slang_ir_storage type now has a pointer to parent storage to represent
storage of an array element within an array, or a field within a struct.
This fixes some problems related to addressing of fields/elements in non-
trivial cases.  More work to follow.

16 years agomesa: fix some GLSL /= int operators
Brian Paul [Fri, 18 Jul 2008 18:52:24 +0000 (12:52 -0600)]
mesa: fix some GLSL /= int operators

plus add a few more special constructors to improve code quality.

16 years agomesa: fix set_program_uniform_matrix(): need to loop over matrix count
Brian Paul [Fri, 18 Jul 2008 18:51:39 +0000 (12:51 -0600)]
mesa: fix set_program_uniform_matrix(): need to loop over matrix count

16 years agomesa: implement grammar/parsing for precision/invariant syntax
Brian Paul [Tue, 29 Jul 2008 23:12:19 +0000 (17:12 -0600)]
mesa: implement grammar/parsing for precision/invariant syntax

Plus, fix some issues with pre-defined preprocessor symbols and version checking.

16 years agomesa: Silence compiler warnings on Windows.
Brian Paul [Tue, 29 Jul 2008 23:09:40 +0000 (17:09 -0600)]
mesa: Silence compiler warnings on Windows.

16 years agomesa: fix some function inlining bugs
Brian Paul [Tue, 29 Jul 2008 23:05:54 +0000 (17:05 -0600)]
mesa: fix some function inlining bugs

Need to add local vars of original function to the new scope's variable
list (though the DECLs were already present).
In slang_operation_copy() call slang_replace_scope() for SLANG_OPER_BLOCK_NEW_SCOPE opers.

16 years agomesa: improved printing
Brian Paul [Tue, 29 Jul 2008 23:04:53 +0000 (17:04 -0600)]
mesa: improved printing

16 years agodocument GLSL 1.20 status
Brian Paul [Tue, 29 Jul 2008 22:46:08 +0000 (16:46 -0600)]
document GLSL 1.20 status

16 years agodisable GL_ARB_shading_language_120 until 1.20 features are complete
Brian Paul [Tue, 29 Jul 2008 13:38:13 +0000 (07:38 -0600)]
disable GL_ARB_shading_language_120 until 1.20 features are complete

16 years agoautoconf: disable dri drivers build if being asked
Florent Thoumie [Mon, 28 Jul 2008 13:44:43 +0000 (14:44 +0100)]
autoconf: disable dri drivers build if being asked

Allow --with-dri-drivers={,no} to disable DRI drivers build.

Signed-off-by: Florent Thoumie <flz@FreeBSD.org>
Signed-off-by: Robert Noland <rnoland@2hip.net>
16 years agor300: Fix off-by-one error in calculation of scissor cliprect.
Michel Dänzer [Mon, 28 Jul 2008 08:49:43 +0000 (10:49 +0200)]
r300: Fix off-by-one error in calculation of scissor cliprect.

Fixes http://bugs.freedesktop.org/show_bug.cgi?id=16123 .

16 years agor300: Fix a crash related to depth textures (triggered by Glest w/ shadowmaps)
Nicolai Haehnle [Sun, 27 Jul 2008 19:40:17 +0000 (21:40 +0200)]
r300: Fix a crash related to depth textures (triggered by Glest w/ shadowmaps)

16 years agor300: Implement ARB_shadow_ambient; add STATE_SHADOW_AMBIENT
Nicolai Haehnle [Sun, 27 Jul 2008 19:31:49 +0000 (21:31 +0200)]
r300: Implement ARB_shadow_ambient; add STATE_SHADOW_AMBIENT

16 years agor300: Fix point minmax size
Nicolai Haehnle [Sun, 27 Jul 2008 19:18:29 +0000 (21:18 +0200)]
r300: Fix point minmax size

There are 6 subpixel units per pixel, not 16.

16 years agor300: Implement hardware acceleration for ColorLogicOp
Nicolai Haehnle [Sun, 27 Jul 2008 16:18:59 +0000 (18:18 +0200)]
r300: Implement hardware acceleration for ColorLogicOp

16 years agor500: Handle non-native swizzles in texture instructions
Nicolai Haehnle [Sun, 27 Jul 2008 14:36:05 +0000 (16:36 +0200)]
r500: Handle non-native swizzles in texture instructions

This fixes piglit's fp-kil and fp-generic/kil-swizzle tests.

16 years agor500: Redirect TEX writes to output registers
Nicolai Haehnle [Sun, 27 Jul 2008 13:14:07 +0000 (15:14 +0200)]
r500: Redirect TEX writes to output registers

While R500 fragment program texture instructions appear to support writemasks,
they cannot write to the output FIFO immediately, so we need to insert a MOV
for these instructions.

This fixes piglit's fp-fragment-position and fp-incomplete-tex tests.

16 years agor200: Do not set second coordinate clamping for 1D textures
Nicolai Haehnle [Sat, 26 Jul 2008 14:16:23 +0000 (16:16 +0200)]
r200: Do not set second coordinate clamping for 1D textures

Fixes piglit's tex1d-border test.

16 years agor300: Always emit LOAD_VBPNTR immediately before index-based rendering
Nicolai Haehnle [Sat, 26 Jul 2008 14:15:33 +0000 (16:15 +0200)]
r300: Always emit LOAD_VBPNTR immediately before index-based rendering

This fixes one type of lockup I've been seeing on my test system.

16 years agoi965: fixup format for TFP zero copy
Dave Airlie [Fri, 25 Jul 2008 10:32:22 +0000 (20:32 +1000)]
i965: fixup format for TFP zero copy

16 years agoRevert "intel: disable zero-copy TFP."
Dave Airlie [Fri, 25 Jul 2008 09:57:35 +0000 (19:57 +1000)]
Revert "intel: disable zero-copy TFP."

This reverts commit 94979950e8991bd44899eb4067c3ae43449ce51e.

I've fixed it instead

16 years agoi965: make tex offset override work..
Dave Airlie [Fri, 25 Jul 2008 09:56:56 +0000 (19:56 +1000)]
i965: make tex offset override work..

should fix fd.o 14441

16 years agointel: disable zero-copy TFP.
Dave Airlie [Fri, 25 Jul 2008 06:31:38 +0000 (16:31 +1000)]
intel: disable zero-copy TFP.

patch from Fedora. maybe someone can fix this later but for now
lets try and release Mesa so ajax can live his life and get Xorg 7.4 out.

16 years agomesa: move extensions->version code into separate function
Brian Paul [Thu, 24 Jul 2008 20:47:28 +0000 (14:47 -0600)]
mesa: move extensions->version code into separate function

16 years agomesa: don't include Mesa version in GL_SHADING_LANGUAGE_VERSION string
Brian Paul [Thu, 24 Jul 2008 20:28:43 +0000 (14:28 -0600)]
mesa: don't include Mesa version in GL_SHADING_LANGUAGE_VERSION string

16 years agoquery/print GLSL version string
Brian Paul [Thu, 24 Jul 2008 20:27:11 +0000 (14:27 -0600)]
query/print GLSL version string

16 years agointel: remove buffer swap debug output
Jesse Barnes [Thu, 24 Jul 2008 16:11:37 +0000 (09:11 -0700)]
intel: remove buffer swap debug output

Accidentally pushed as part of the last commit.

16 years agoRevert "965: Fix color clamping issues"
Ian Romanick [Thu, 24 Jul 2008 15:39:51 +0000 (08:39 -0700)]
Revert "965: Fix color clamping issues"

This reverts commit b993d539a76e7f1446890a85e4b61deec4d4162d.  The
patch was applied incorrectly.  Actual fix coming soon.  Sorry for the
noise.

16 years agoFix a typo.
Thomas Hellstrom [Thu, 24 Jul 2008 11:35:35 +0000 (13:35 +0200)]
Fix a typo.

16 years agoAdd new demo "fbo_firecube".
Thomas Hellstrom [Thu, 24 Jul 2008 11:32:59 +0000 (13:32 +0200)]
Add new demo "fbo_firecube".
Tests fbo render-to-texture for various internal texture image formats.

16 years ago965: Fix partially transparent textures in Doom 3 engine games
Pawel Pieczul [Wed, 23 Jul 2008 22:43:23 +0000 (15:43 -0700)]
965: Fix partially transparent textures in  Doom 3 engine games

Numbers of destination depth registers corrected (destination stencil
register was sent as depth register).

16 years agointel: fix buffer swaps and enable page flipping on 965
Jesse Barnes [Tue, 22 Jul 2008 16:39:23 +0000 (09:39 -0700)]
intel: fix buffer swaps and enable page flipping on 965

Some buffer swap intel render buffer fields (pf_num_pages & vbl_pending) are
also used for page flipping, so enable the code that sets & updates them on
965.  This allows buffer swaps and page flips to work on 965 and prevents hangs
in LOCK_HARDWARE in the buffer swap case due to an uninitialized vbl_pending
field.

Fixes FDO #16118.

16 years ago965: Fix color clamping issues
Pawel Pieczul [Mon, 21 Jul 2008 17:57:20 +0000 (10:57 -0700)]
965: Fix color clamping issues

16 years agomesa: revert building glslcompiler by default
Brian Paul [Mon, 21 Jul 2008 15:01:21 +0000 (09:01 -0600)]
mesa: revert building glslcompiler by default

16 years agoautoconf: Support Motif widgets in GLw with --enable-motif
Dan Nicholson [Fri, 18 Jul 2008 14:40:41 +0000 (07:40 -0700)]
autoconf: Support Motif widgets in GLw with --enable-motif

Add an --enable-motif option, which will enable the Motif widgets in
libGLw and link it with libXm. The Motif installation information will
be gathered from the motif-config script (this comes with LessTif) or
fallback to the standard autoconf checks.

To allow the location of the Motif headers to be set from configure, the
default setting of -I/usr/include/Motif1.2 has been moved into
configs/default and then passed to the Makefile through the MOTIF_CFLAGS
variable.

16 years agointel: fix texture border issue. (bug #16697)
Xiang, Haihao [Fri, 18 Jul 2008 09:40:11 +0000 (17:40 +0800)]
intel: fix texture border issue. (bug #16697)

16 years agomesa: build the stand-alone glslcompiler by default, update the docs
Brian Paul [Thu, 17 Jul 2008 21:40:10 +0000 (15:40 -0600)]
mesa: build the stand-alone glslcompiler by default, update the docs

16 years agomesa: regenerated file
Brian Paul [Thu, 17 Jul 2008 16:09:04 +0000 (10:09 -0600)]
mesa: regenerated file

16 years agomesa: fix/improve the atan(y,x) function
Brian Paul [Thu, 17 Jul 2008 16:03:10 +0000 (10:03 -0600)]
mesa: fix/improve the atan(y,x) function

16 years agomesa: added checks for OpenBSD
Brad Smith [Thu, 17 Jul 2008 14:15:57 +0000 (08:15 -0600)]
mesa: added checks for OpenBSD

16 years agomesa: regenerated file
Brian Paul [Wed, 16 Jul 2008 22:27:14 +0000 (16:27 -0600)]
mesa: regenerated file

16 years agomesa: fix temp re-use bug in emit_arith()
Brian Paul [Wed, 16 Jul 2008 22:04:43 +0000 (16:04 -0600)]
mesa: fix temp re-use bug in emit_arith()

16 years agomesa: fix copy&paste errors in degrees() functions
Brian Paul [Wed, 16 Jul 2008 20:47:21 +0000 (14:47 -0600)]
mesa: fix copy&paste errors in degrees() functions

16 years agointel: Clean-up ARB_texture_env_crossbar
Ian Romanick [Wed, 16 Jul 2008 17:37:49 +0000 (10:37 -0700)]
intel: Clean-up ARB_texture_env_crossbar

Enable support for ARB_texture_env_crossbar in the master extension
list instead of in every single device-specific list.

16 years agomesa: add GL_POLYGON_OFFSET_POINT/LINE/FILL queries, remove GL_TEXTURE_ENV_COLOR...
Brian Paul [Wed, 16 Jul 2008 16:23:28 +0000 (10:23 -0600)]
mesa: add GL_POLYGON_OFFSET_POINT/LINE/FILL queries, remove GL_TEXTURE_ENV_COLOR, GL_TEXTURE_ENV_MODE

Issues found by Bob Ellison.

16 years agoadditional preprocessor checks for stdint.h, inttypes.h, etc
Blair Sadewitz [Tue, 15 Jul 2008 23:21:43 +0000 (17:21 -0600)]
additional preprocessor checks for stdint.h, inttypes.h, etc

The patches to glext.h and glxext.h have been sent to Khronos/bugzilla.

16 years agomesa: added test for __NetBSD__
Blair Sadewitz [Tue, 15 Jul 2008 23:12:23 +0000 (17:12 -0600)]
mesa: added test for __NetBSD__

16 years agomesa: added test for __NetBSD__
Blair Sadewitz [Tue, 15 Jul 2008 23:11:33 +0000 (17:11 -0600)]
mesa: added test for __NetBSD__

16 years agomesa: check for __INTERIX to typedef uintptr_t
Blair Sadewitz [Tue, 15 Jul 2008 23:06:17 +0000 (17:06 -0600)]
mesa: check for __INTERIX to typedef uintptr_t

16 years agomesa: extra braces
Blair Sadewitz [Tue, 15 Jul 2008 23:05:28 +0000 (17:05 -0600)]
mesa: extra braces

16 years agomesa: regenerated file
Brian Paul [Tue, 15 Jul 2008 22:55:23 +0000 (16:55 -0600)]
mesa: regenerated file

16 years agomesa: add missing IR_LOG2 case
Brian Paul [Tue, 15 Jul 2008 22:04:26 +0000 (16:04 -0600)]
mesa: add missing IR_LOG2 case

16 years agomesa: fix some broken /= operators
Brian Paul [Tue, 15 Jul 2008 21:32:53 +0000 (15:32 -0600)]
mesa: fix some broken /= operators

16 years agomesa: fix some broken bool, bvec2, bvec3, bvec4 constructors
Brian Paul [Tue, 15 Jul 2008 21:03:42 +0000 (15:03 -0600)]
mesa: fix some broken bool, bvec2, bvec3, bvec4 constructors

16 years agomesa: fix storage size computation in emit_arith()
Brian Paul [Tue, 15 Jul 2008 20:41:47 +0000 (14:41 -0600)]
mesa: fix storage size computation in emit_arith()

16 years agoglx: Update my e-mail address. :)
Ian Romanick [Tue, 15 Jul 2008 18:06:31 +0000 (11:06 -0700)]
glx: Update my e-mail address. :)

16 years agoglx: Trivial clean-ups to __glXSetArrayEnable
Ian Romanick [Tue, 15 Jul 2008 18:06:04 +0000 (11:06 -0700)]
glx: Trivial clean-ups to __glXSetArrayEnable

16 years agomesa: assemble main() after all other functions
Brian Paul [Mon, 14 Jul 2008 21:59:44 +0000 (15:59 -0600)]
mesa: assemble main() after all other functions

Before, main() had to come after any functions it called.

16 years agomesa: fix stencil state problem when GL_ATI_separate_stencil wasn't enabled
Brian Paul [Mon, 14 Jul 2008 15:51:35 +0000 (09:51 -0600)]
mesa: fix stencil state problem when GL_ATI_separate_stencil wasn't enabled

In glStencilFunc/Op/Mask() set both the front and back-face state, unless
GL_EXT_stencil_two_side is enabled.  Before, we only set the front+back state
if GL_ATI_separate_stencil was enabled.

Ultimately, we probably should remove GL_EXT_stencil_two_side since it's
incompatible with GL 2.x.

16 years agofix gltrace (bug 16691)
Guillaume Melquiond [Mon, 14 Jul 2008 14:50:36 +0000 (08:50 -0600)]
fix gltrace (bug 16691)

16 years agoglu: only export public symbols
Julien Cristau [Sun, 13 Jul 2008 15:27:58 +0000 (17:27 +0200)]
glu: only export public symbols

16 years agomklib: don't version symbols when using --exports
Julien Cristau [Sun, 13 Jul 2008 15:13:32 +0000 (17:13 +0200)]
mklib: don't version symbols when using --exports

Use the default version instead of one based on the library SONAME
in the version script created by --exports.

16 years agomesa: also check for __NetBSD__
Blair Sadewitz [Mon, 14 Jul 2008 14:15:10 +0000 (08:15 -0600)]
mesa: also check for __NetBSD__

16 years agomesa: check for null shader->Source
Brian Paul [Wed, 9 Jul 2008 21:58:31 +0000 (15:58 -0600)]
mesa: check for null shader->Source

16 years agoradeon: SetTexOffset support
Chris Rankin [Mon, 14 Jul 2008 08:09:58 +0000 (10:09 +0200)]
radeon: SetTexOffset support

This patch is a straightforward duplication of the R200 SetTexOffset code,
except that there is no big-endian tx_table[] array.

16 years agonouveau: say goodbye to the old DRI driver...
Stephane Marchesin [Sun, 13 Jul 2008 23:03:07 +0000 (01:03 +0200)]
nouveau: say goodbye to the old DRI driver...

16 years agoglx/dri: only report DRI2 extensions when DRI2 is enabled.
Dave Airlie [Sun, 13 Jul 2008 09:00:46 +0000 (19:00 +1000)]
glx/dri: only report DRI2 extensions when DRI2 is enabled.

Fixes bug 15477

16 years agor300_fragprog: Use nqssa+dce and program_pair for emit
Nicolai Haehnle [Sat, 12 Jul 2008 19:13:03 +0000 (21:13 +0200)]
r300_fragprog: Use nqssa+dce and program_pair for emit

Share almost all code with r500_fragprog now.

This also fixes Piglit's texrect-many test, which means that the compiz
bicubic plugin should work with hardware acceleration now.

16 years agoAlways pass -linker and -ldflags to mklib for shared libraries
Dan Nicholson [Sat, 12 Jul 2008 17:04:44 +0000 (10:04 -0700)]
Always pass -linker and -ldflags to mklib for shared libraries

This just makes the use of mklib more consistent throughout Mesa where
we always want to pass the linker and LDFLAGS when we might be making a
shared library.

16 years agoCall mklib with $(SHELL) so the user controls the interpreter
Dan Nicholson [Fri, 11 Jul 2008 20:54:48 +0000 (13:54 -0700)]
Call mklib with $(SHELL) so the user controls the interpreter

Respect the user's choice of shell when running mklib rather than always
using /bin/sh.

16 years agoCall minstall with $(SHELL) so the user controls the interpreter
Dan Nicholson [Tue, 8 Jul 2008 14:49:31 +0000 (07:49 -0700)]
Call minstall with $(SHELL) so the user controls the interpreter

Running minstall directly means that /bin/sh is always used as hte
interpreter. If the user needs or wants to use a different shell fo
minstall, they can use the SHELL make variable.

16 years agoSet $(SHELL) for all configs
Dan Nicholson [Tue, 8 Jul 2008 14:44:58 +0000 (07:44 -0700)]
Set $(SHELL) for all configs

Most make implementations will use /bin/sh as the interpreter for
commands and only use a different shell when the $(SHELL) make variable
is set. This makes the setting explicit and allows $(SHELL) to be used
in the commands themselves.

16 years agoautoconf: Subsitute SHELL for all platforms
Dan Nicholson [Mon, 30 Jun 2008 16:40:30 +0000 (09:40 -0700)]
autoconf: Subsitute SHELL for all platforms

Establish the shell that make will use from configure. This is exactly
how autoconf/automake operate, with the environment variable
CONFIG_SHELL respected to override the autoconf checks. In the usual
case where the user just executes `./configure', autoconf will pick a
shell from the current shell, sh, bash, ksh or sh5 that meets its base
criteria.

The special Solaris case of looking for a POSIX shell has been changed
to just set the SHELL variable since autoconf substitutes this already.
The EXTRA_CONFIG_LINES substitution is dropped as it should no longer be
needed.

16 years agor300: Fix saturate mode handling in radeon_program_alu
Nicolai Haehnle [Sat, 12 Jul 2008 10:20:28 +0000 (12:20 +0200)]
r300: Fix saturate mode handling in radeon_program_alu

16 years agor500: Set Saturate correctly in radeon_program_pair
Nicolai Haehnle [Sat, 12 Jul 2008 10:04:28 +0000 (12:04 +0200)]
r500: Set Saturate correctly in radeon_program_pair

16 years agor300: Fix input register allocation in radeon_program_pair
Nicolai Haehnle [Sat, 12 Jul 2008 09:11:59 +0000 (11:11 +0200)]
r300: Fix input register allocation in radeon_program_pair

When an input is marked in gl_program.InputsRead but is not actually read
in the final program (due to dead-code elimination or whatever), the order
of input registers must still match gl_program.InputsRead. This is done
even more explicitly now.

16 years agor300: Explicitly set absolute value for the argument of RSQ
Nicolai Haehnle [Fri, 11 Jul 2008 23:19:19 +0000 (01:19 +0200)]
r300: Explicitly set absolute value for the argument of RSQ

This fixes the last r500 bug related to glean/fragProg1.

16 years agor500_fragprog: Major refactoring of final emit
Nicolai Haehnle [Fri, 11 Jul 2008 23:14:35 +0000 (01:14 +0200)]
r500_fragprog: Major refactoring of final emit

Use an abstracted instruction scheduling and register allocation algorithm
that we will be able to share with r300_fragprog.

Unlike the original emit code, this code tries to pair instructions that
only use the RGB part of the ALU with instructions that only use the alpha
part. However, the pairing algorithm still has some shortcomings;
for example, it doesn't generate optimal code for the emulation of LIT.

16 years agor500: Add "Not quite SSA" and dead code elimination pass
Nicolai Haehnle [Sun, 6 Jul 2008 17:48:50 +0000 (19:48 +0200)]
r500: Add "Not quite SSA" and dead code elimination pass

In addition, this pass fixes non-native swizzles.

16 years agor500_fragprog: Transform trigonometric functions in first pass
Nicolai Haehnle [Sun, 6 Jul 2008 14:58:51 +0000 (16:58 +0200)]
r500_fragprog: Transform trigonometric functions in first pass

16 years agoR300: update vap_cntl values for NUM_FPUS
Alex Deucher [Fri, 11 Jul 2008 23:23:06 +0000 (19:23 -0400)]
R300: update vap_cntl values for NUM_FPUS

based on info from hw team