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.
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.
Brian Paul [Thu, 24 Jul 2008 20:56:54 +0000 (14:56 -0600)]
mesa: glsl: only try to link shaders defining main()
Michal Krol [Thu, 24 Jul 2008 09:03:05 +0000 (11:03 +0200)]
mesa: Silence compiler warning on windows.
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.
Brian Paul [Wed, 23 Jul 2008 18:00:48 +0000 (12:00 -0600)]
mesa: glsl: mark constructor params as const
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.
Brian Paul [Tue, 22 Jul 2008 23:38:55 +0000 (17:38 -0600)]
mesa: fix uninitialized var
Brian Paul [Tue, 22 Jul 2008 21:17:10 +0000 (15:17 -0600)]
mesa: glsl: implement constructor functions for user-defined types
Brian Paul [Tue, 22 Jul 2008 17:54:22 +0000 (11:54 -0600)]
mesa: remove stray debug assertion
Brian [Tue, 22 Jul 2008 02:42:05 +0000 (20:42 -0600)]
mesa: fix glUniform error checking for samplers
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.
Brian Paul [Mon, 21 Jul 2008 23:18:22 +0000 (17:18 -0600)]
mesa: initial support for GLSL struct/array comparisons
Brian Paul [Mon, 21 Jul 2008 22:04:56 +0000 (16:04 -0600)]
mesa: added null ptr check (error handling case)
Brian Paul [Mon, 21 Jul 2008 22:04:24 +0000 (16:04 -0600)]
mesa: fix +=, -=, etc. operators
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
Brian Paul [Mon, 21 Jul 2008 20:16:07 +0000 (14:16 -0600)]
mesa: fix some issues in _mesa_validate_program()
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.
Brian Paul [Sat, 19 Jul 2008 01:46:19 +0000 (19:46 -0600)]
mesa: glsl: various writemask/swizzle improvements and clean-ups
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.
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.
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
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.
Brian Paul [Tue, 29 Jul 2008 23:09:40 +0000 (17:09 -0600)]
mesa: Silence compiler warnings on Windows.
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.
Brian Paul [Tue, 29 Jul 2008 23:04:53 +0000 (17:04 -0600)]
mesa: improved printing
Brian Paul [Tue, 29 Jul 2008 22:46:08 +0000 (16:46 -0600)]
document GLSL 1.20 status
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
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>
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 .
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)
Nicolai Haehnle [Sun, 27 Jul 2008 19:31:49 +0000 (21:31 +0200)]
r300: Implement ARB_shadow_ambient; add STATE_SHADOW_AMBIENT
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.
Nicolai Haehnle [Sun, 27 Jul 2008 16:18:59 +0000 (18:18 +0200)]
r300: Implement hardware acceleration for ColorLogicOp
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.
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.
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.
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.
Dave Airlie [Fri, 25 Jul 2008 10:32:22 +0000 (20:32 +1000)]
i965: fixup format for TFP zero copy
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
Dave Airlie [Fri, 25 Jul 2008 09:56:56 +0000 (19:56 +1000)]
i965: make tex offset override work..
should fix fd.o 14441
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.
Brian Paul [Thu, 24 Jul 2008 20:47:28 +0000 (14:47 -0600)]
mesa: move extensions->version code into separate function
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
Brian Paul [Thu, 24 Jul 2008 20:27:11 +0000 (14:27 -0600)]
query/print GLSL version string
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.
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.
Thomas Hellstrom [Thu, 24 Jul 2008 11:35:35 +0000 (13:35 +0200)]
Fix a typo.
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.
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).
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.
Pawel Pieczul [Mon, 21 Jul 2008 17:57:20 +0000 (10:57 -0700)]
965: Fix color clamping issues
Brian Paul [Mon, 21 Jul 2008 15:01:21 +0000 (09:01 -0600)]
mesa: revert building glslcompiler by default
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.
Xiang, Haihao [Fri, 18 Jul 2008 09:40:11 +0000 (17:40 +0800)]
intel: fix texture border issue. (bug #16697)
Brian Paul [Thu, 17 Jul 2008 21:40:10 +0000 (15:40 -0600)]
mesa: build the stand-alone glslcompiler by default, update the docs
Brian Paul [Thu, 17 Jul 2008 16:09:04 +0000 (10:09 -0600)]
mesa: regenerated file
Brian Paul [Thu, 17 Jul 2008 16:03:10 +0000 (10:03 -0600)]
mesa: fix/improve the atan(y,x) function
Brad Smith [Thu, 17 Jul 2008 14:15:57 +0000 (08:15 -0600)]
mesa: added checks for OpenBSD
Brian Paul [Wed, 16 Jul 2008 22:27:14 +0000 (16:27 -0600)]
mesa: regenerated file
Brian Paul [Wed, 16 Jul 2008 22:04:43 +0000 (16:04 -0600)]
mesa: fix temp re-use bug in emit_arith()
Brian Paul [Wed, 16 Jul 2008 20:47:21 +0000 (14:47 -0600)]
mesa: fix copy&paste errors in degrees() functions
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.
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.
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.
Blair Sadewitz [Tue, 15 Jul 2008 23:12:23 +0000 (17:12 -0600)]
mesa: added test for __NetBSD__
Blair Sadewitz [Tue, 15 Jul 2008 23:11:33 +0000 (17:11 -0600)]
mesa: added test for __NetBSD__
Blair Sadewitz [Tue, 15 Jul 2008 23:06:17 +0000 (17:06 -0600)]
mesa: check for __INTERIX to typedef uintptr_t
Blair Sadewitz [Tue, 15 Jul 2008 23:05:28 +0000 (17:05 -0600)]
mesa: extra braces
Brian Paul [Tue, 15 Jul 2008 22:55:23 +0000 (16:55 -0600)]
mesa: regenerated file
Brian Paul [Tue, 15 Jul 2008 22:04:26 +0000 (16:04 -0600)]
mesa: add missing IR_LOG2 case
Brian Paul [Tue, 15 Jul 2008 21:32:53 +0000 (15:32 -0600)]
mesa: fix some broken /= operators
Brian Paul [Tue, 15 Jul 2008 21:03:42 +0000 (15:03 -0600)]
mesa: fix some broken bool, bvec2, bvec3, bvec4 constructors
Brian Paul [Tue, 15 Jul 2008 20:41:47 +0000 (14:41 -0600)]
mesa: fix storage size computation in emit_arith()
Ian Romanick [Tue, 15 Jul 2008 18:06:31 +0000 (11:06 -0700)]
glx: Update my e-mail address. :)
Ian Romanick [Tue, 15 Jul 2008 18:06:04 +0000 (11:06 -0700)]
glx: Trivial clean-ups to __glXSetArrayEnable
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.
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.
Guillaume Melquiond [Mon, 14 Jul 2008 14:50:36 +0000 (08:50 -0600)]
fix gltrace (bug 16691)
Julien Cristau [Sun, 13 Jul 2008 15:27:58 +0000 (17:27 +0200)]
glu: only export public symbols
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.
Blair Sadewitz [Mon, 14 Jul 2008 14:15:10 +0000 (08:15 -0600)]
mesa: also check for __NetBSD__
Brian Paul [Wed, 9 Jul 2008 21:58:31 +0000 (15:58 -0600)]
mesa: check for null shader->Source
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.
Stephane Marchesin [Sun, 13 Jul 2008 23:03:07 +0000 (01:03 +0200)]
nouveau: say goodbye to the old DRI driver...
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
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.
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.
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.
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.
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.
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.
Nicolai Haehnle [Sat, 12 Jul 2008 10:20:28 +0000 (12:20 +0200)]
r300: Fix saturate mode handling in radeon_program_alu
Nicolai Haehnle [Sat, 12 Jul 2008 10:04:28 +0000 (12:04 +0200)]
r500: Set Saturate correctly 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.
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.
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.
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.
Nicolai Haehnle [Sun, 6 Jul 2008 14:58:51 +0000 (16:58 +0200)]
r500_fragprog: Transform trigonometric functions in first pass
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