platform/upstream/mesa.git
16 years agor500: fixup the program allocations to be the correct sizes
Dave Airlie [Thu, 15 May 2008 03:48:31 +0000 (13:48 +1000)]
r500: fixup the program allocations to be the correct sizes

16 years agor300: set screen so that context init can find out chip ids
Dave Airlie [Thu, 15 May 2008 03:47:47 +0000 (13:47 +1000)]
r300: set screen so that context init can find out chip ids

16 years agor500: add cmp support in theory
Dave Airlie [Thu, 15 May 2008 03:24:01 +0000 (13:24 +1000)]
r500: add cmp support in theory

16 years agor500: some trivial fixups to get tri working.
Dave Airlie [Thu, 15 May 2008 03:21:50 +0000 (13:21 +1000)]
r500: some trivial fixups to get tri working.

the counter was being used one instruction over the end

16 years agor500: we just need to emit a colour for clear drop tex instruction
Dave Airlie [Thu, 15 May 2008 01:46:23 +0000 (11:46 +1000)]
r500: we just need to emit a colour for clear drop tex instruction

16 years agoR300: clean up GA registers
Alex Deucher [Tue, 13 May 2008 20:12:57 +0000 (16:12 -0400)]
R300: clean up GA registers

16 years agoR3xx: clean up ZB registers
Alex Deucher [Tue, 13 May 2008 19:46:23 +0000 (15:46 -0400)]
R3xx: clean up ZB registers

16 years agoR300: clean up CB registers
Alex Deucher [Tue, 13 May 2008 18:32:30 +0000 (14:32 -0400)]
R300: clean up CB registers

16 years agoR300: clean up Fog registers
Alex Deucher [Tue, 13 May 2008 18:02:29 +0000 (14:02 -0400)]
R300: clean up Fog registers

16 years agoR500: fixup r300EmitClearState() FP for r5xx
Alex Deucher [Tue, 13 May 2008 17:38:30 +0000 (13:38 -0400)]
R500: fixup r300EmitClearState() FP for r5xx

16 years agoR300: cleanup FS code and fill in missing details
Alex Deucher [Tue, 13 May 2008 12:37:58 +0000 (08:37 -0400)]
R300: cleanup FS code and fill in missing details

16 years agoR3xx: more PVS cleanup
Alex Deucher [Tue, 13 May 2008 10:09:55 +0000 (06:09 -0400)]
R3xx: more PVS cleanup

16 years agoMerge branch 'r500-support' of git+ssh://agd5f@git.freedesktop.org/git/mesa/mesa...
Alex Deucher [Mon, 12 May 2008 15:58:35 +0000 (11:58 -0400)]
Merge branch 'r500-support' of git+ssh://agd5f@git.freedesktop.org/git/mesa/mesa into r500-support

16 years agoR500: add support for 4k textures
Alex Deucher [Mon, 12 May 2008 15:57:08 +0000 (11:57 -0400)]
R500: add support for 4k textures

16 years agor500: cleanup r500 RS setup
Dave Airlie [Wed, 7 May 2008 05:59:21 +0000 (15:59 +1000)]
r500: cleanup r500 RS setup

16 years agor500: for rectangular textures set to unscaled coordinates.
Dave Airlie [Wed, 7 May 2008 05:16:27 +0000 (15:16 +1000)]
r500: for rectangular textures set to unscaled coordinates.

16 years agor5xx: Fix FP inputs. (For good?)
Corbin Simpson [Wed, 7 May 2008 07:06:26 +0000 (00:06 -0700)]
r5xx: Fix FP inputs. (For good?)
FP inputs are now counted and mapped correctly, and temps
are allocated tightly and correctly.

16 years agor5xx: Fix false error with DP3/DP4.
Corbin Simpson [Wed, 7 May 2008 06:36:50 +0000 (23:36 -0700)]
r5xx: Fix false error with DP3/DP4.
DP3/DP4 only takes two arguments, but tried to load three, causing
a false fallback to the dumb shader.

16 years agor5xx: Index inputs and temps.
Corbin Simpson [Wed, 7 May 2008 05:18:28 +0000 (22:18 -0700)]
r5xx: Index inputs and temps.
This is not the same as r3xx indexing. It only tries to protect inputs on
the pixel stack from getting clobbered by temps or texs.

Texs don't need special treatment since they read from special input regs
and write to the same temp regs as ALU/FC instructions.

16 years agor5xx: FP: Add OPCODE_TXB.
Corbin Simpson [Wed, 7 May 2008 01:14:21 +0000 (18:14 -0700)]
r5xx: FP: Add OPCODE_TXB.
Tex lookup with biased LOD. Should magically work.

16 years agor5xx: FP: Make MOV/ABS look pretty.
Corbin Simpson [Wed, 7 May 2008 00:21:30 +0000 (17:21 -0700)]
r5xx: FP: Make MOV/ABS look pretty.
We can't really do anything like emit_alu, so we're doing emit_mov instead.

16 years agor5xx: Emit an OUT instruction at the end of execution.
Corbin Simpson [Tue, 6 May 2008 19:44:53 +0000 (12:44 -0700)]
r5xx: Emit an OUT instruction at the end of execution.
This should make TEX/TXP work right. (Note: "Should" is not "does.")

16 years agor5xx: We update max_temp_idx now, so no need to hard-code it.
Corbin Simpson [Tue, 6 May 2008 19:42:40 +0000 (12:42 -0700)]
r5xx: We update max_temp_idx now, so no need to hard-code it.
This roughly doubles the speed of glxgears (GINAB) by allowing
more pixels to run concurrently.

16 years agor5xx: Fix typo.
Corbin Simpson [Tue, 6 May 2008 19:18:07 +0000 (12:18 -0700)]
r5xx: Fix typo.
Gotta be more careful with my cut'n'paste, lawl.

16 years agor5xx: Use max_temp_idx.
Corbin Simpson [Tue, 6 May 2008 18:57:24 +0000 (11:57 -0700)]
r5xx: Use max_temp_idx.

16 years agor500: consolidate tex instructions
Dave Airlie [Mon, 5 May 2008 08:42:27 +0000 (18:42 +1000)]
r500: consolidate tex instructions

you cannot change a tex into an output so this means we have to actually
do another instruction after this one to mov if its an output

16 years agor500: mov cleanup macros
Dave Airlie [Mon, 5 May 2008 08:15:40 +0000 (18:15 +1000)]
r500: mov cleanup macros

16 years agor500: make tri-param work
Dave Airlie [Mon, 5 May 2008 08:05:59 +0000 (18:05 +1000)]
r500: make tri-param work

This makes constant work which are 32-bit on r500 unlike r300.

Switch MOV to using MAD no idea if we might have negative things MAX 0,-5 is
likely to do the wrong thing..

16 years agor500: make sure we emit max temp atom.
Dave Airlie [Mon, 5 May 2008 06:41:07 +0000 (16:41 +1000)]
r500: make sure we emit max temp atom.

We don't appear to update max_temp_idx yet anywhere though

16 years agor300: fix swtcl texrect path properly.
Dave Airlie [Mon, 5 May 2008 13:49:50 +0000 (23:49 +1000)]
r300: fix swtcl texrect path properly.

We really need to update the shader state so the texrect parameters work.

This should fix compiz looking crappy on rs480 and rs690

16 years agor300: Set correct VAP_CNTL per vertex program.
Markus Amsler [Sat, 3 May 2008 16:55:45 +0000 (12:55 -0400)]
r300: Set correct VAP_CNTL per vertex program.

adapted from Markus' patch on bug 15386 with updates for non-TCL
and R500.

16 years agor5xx: Fix for loops.
Corbin Simpson [Sat, 3 May 2008 16:09:57 +0000 (09:09 -0700)]
r5xx: Fix for loops.
Thanks to dli in IRC for pointing this out.

16 years agor5xx: Fix dumb shader.
Corbin Simpson [Sat, 3 May 2008 16:08:07 +0000 (09:08 -0700)]
r5xx: Fix dumb shader.
For some reason, FGLRX doesn't actually set R500_US_INST_TEX.
Let us not make that same mistake.

16 years agoMerge branch 'r500test' of git://people.freedesktop.org/~csimpson/mesa into r500...
Corbin Simpson [Sat, 3 May 2008 15:39:15 +0000 (08:39 -0700)]
Merge branch 'r500test' of git://people.freedesktop.org/~csimpson/mesa into r500-support

16 years agor300: remove debugging code
Dave Airlie [Sat, 3 May 2008 18:17:15 +0000 (04:17 +1000)]
r300: remove debugging code

16 years agor300: setup vte according to inputs
Dave Airlie [Sat, 3 May 2008 18:13:56 +0000 (04:13 +1000)]
r300: setup vte according to inputs

16 years agor300: update r300 rs unit for swtcl need to fix r500 most likely
Dave Airlie [Sat, 3 May 2008 12:08:11 +0000 (22:08 +1000)]
r300: update r300 rs unit for swtcl need to fix r500 most likely

16 years agor300: recombine the vap input route 0 code and clean
Dave Airlie [Sat, 3 May 2008 11:31:47 +0000 (21:31 +1000)]
r300: recombine the vap input route 0 code and clean

This gets non-tcl cards working again on this branch..

at least texrect and glxgears

16 years agor300: add R300_NO_TCL to allow testing of non-tcl on tcl cards
Dave Airlie [Sat, 3 May 2008 11:31:22 +0000 (21:31 +1000)]
r300: add R300_NO_TCL to allow testing of non-tcl on tcl cards

16 years agoMerge branch 'r500-support' into r500test
Corbin Simpson [Sat, 3 May 2008 03:49:13 +0000 (20:49 -0700)]
Merge branch 'r500-support' into r500test
Bringing the FPS code up-to-date.
Conflicts:

src/mesa/drivers/dri/r300/r300_emit.c
src/mesa/drivers/dri/r300/r300_ioctl.c
src/mesa/drivers/dri/r300/r300_state.c
src/mesa/drivers/dri/r300/r300_swtcl.c
src/mesa/drivers/dri/r300/r500_fragprog.c
src/mesa/drivers/dri/r300/r500_fragprog.h

16 years agoMerge branch 'r345-cleanup' of git://people.freedesktop.org/~agd5f/mesa into r500test
Corbin Simpson [Fri, 2 May 2008 22:57:57 +0000 (15:57 -0700)]
Merge branch 'r345-cleanup' of git://people.freedesktop.org/~agd5f/mesa into r500test
Adding Alex's cleanup patches. This adds r5xx TCL! Whoo-hoo!
Conflicts:

src/mesa/drivers/dri/r300/r300_state.c
src/mesa/drivers/dri/radeon/radeon_chipset.h
src/mesa/drivers/dri/radeon/radeon_screen.c

16 years agoMake radeon stuff build again.
Corbin Simpson [Fri, 2 May 2008 22:33:02 +0000 (15:33 -0700)]
Make radeon stuff build again.
Yet more evidence that I am incompetent with git.

16 years agoR300: fix rebase conflicts
Alex Deucher [Fri, 2 May 2008 19:20:28 +0000 (15:20 -0400)]
R300: fix rebase conflicts

16 years agoMerge branch 'r500test' of git://people.freedesktop.org/~airlied/mesa into r500test
Corbin Simpson [Fri, 2 May 2008 19:15:44 +0000 (12:15 -0700)]
Merge branch 'r500test' of git://people.freedesktop.org/~airlied/mesa into r500test

Conflicts:

src/mesa/drivers/dri/r300/r300_cmdbuf.c
src/mesa/drivers/dri/r300/r300_ioctl.c
src/mesa/drivers/dri/r300/r300_state.c
src/mesa/drivers/dri/r300/r500_fragprog.c
src/mesa/drivers/dri/r300/r500_fragprog.h
src/mesa/drivers/dri/radeon/radeon_chipset.h
src/mesa/drivers/dri/radeon/radeon_screen.c

16 years agoR3/4/5: fix TCL on r5xx, cleanup PVS code
Alex Deucher [Fri, 2 May 2008 17:56:56 +0000 (13:56 -0400)]
R3/4/5: fix TCL on r5xx, cleanup PVS code

16 years agoR300: fix VAP_OUTPUT_VTX_FMT_1 defines
Alex Deucher [Fri, 2 May 2008 17:03:48 +0000 (13:03 -0400)]
R300: fix VAP_OUTPUT_VTX_FMT_1 defines

16 years agoR300: cleanup VAP_CLIP_CNTL
Alex Deucher [Fri, 2 May 2008 16:48:39 +0000 (12:48 -0400)]
R300: cleanup VAP_CLIP_CNTL

16 years agoR300: clean up VAP_PROG_STREAM_CNTL* register usage
Alex Deucher [Fri, 2 May 2008 16:29:40 +0000 (12:29 -0400)]
R300: clean up VAP_PROG_STREAM_CNTL* register usage

16 years agoUpdate comment
Alex Deucher [Fri, 2 May 2008 14:54:20 +0000 (10:54 -0400)]
Update comment

16 years agoR5xx: various updates
Alex Deucher [Fri, 2 May 2008 14:51:40 +0000 (10:51 -0400)]
R5xx: various updates

- fixup VAP_CNTL setup
- remove extra instruction in r5xx passthrough shader
- add notes about pipe config

16 years agoR5xx: Add R5xx pci ids
Alex Deucher [Thu, 1 May 2008 20:02:58 +0000 (16:02 -0400)]
R5xx: Add R5xx pci ids

16 years agofixup r500 bits for renaming
Dave Airlie [Wed, 16 Apr 2008 10:42:15 +0000 (20:42 +1000)]
fixup r500 bits for renaming

16 years agor500: fixup fake shader to keep gears going
Dave Airlie [Sat, 22 Mar 2008 01:00:25 +0000 (11:00 +1000)]
r500: fixup fake shader to keep gears going

16 years agor500: enable gb tiling for r5xx
Dave Airlie [Sat, 22 Mar 2008 00:56:48 +0000 (10:56 +1000)]
r500: enable gb tiling for r5xx

16 years agor500: fixup support for emitting fragment program to hardware.
Dave Airlie [Sat, 22 Mar 2008 00:55:32 +0000 (10:55 +1000)]
r500: fixup support for emitting fragment program to hardware.

Also fixup the constant emission

this breaks glxgears from what I can see but its another step to correctness

16 years agor500: setup fragment program constant emission atom
Dave Airlie [Fri, 21 Mar 2008 07:05:29 +0000 (17:05 +1000)]
r500: setup fragment program constant emission atom

16 years agor300: add rv530 pci id for the t60p laptop
Dave Airlie [Thu, 20 Mar 2008 04:34:04 +0000 (14:34 +1000)]
r300: add rv530 pci id for the t60p laptop

16 years agor300: this code really shouldn't be here.
Dave Airlie [Thu, 20 Mar 2008 04:30:59 +0000 (14:30 +1000)]
r300: this code really shouldn't be here.

For R500 just ignore it for now while I do something interesting like
run glxgears.

16 years agomesa: cleanup state emission and rs for r500
Dave Airlie [Thu, 20 Mar 2008 04:21:10 +0000 (14:21 +1000)]
mesa: cleanup state emission and rs for r500

trivial clear app now renders

16 years agor500 RS unit setup
Dave Airlie [Thu, 20 Mar 2008 03:55:56 +0000 (13:55 +1000)]
r500 RS unit setup

16 years agomore r500 vs r300 kickin
Dave Airlie [Wed, 19 Mar 2008 06:29:11 +0000 (16:29 +1000)]
more r500 vs r300 kickin

16 years agosome basic r500 portage
Dave Airlie [Mon, 17 Mar 2008 11:09:49 +0000 (21:09 +1000)]
some basic r500 portage

16 years agor500: fragprog
Dave Airlie [Mon, 17 Mar 2008 09:05:15 +0000 (19:05 +1000)]
r500: fragprog

16 years ago[intel] Warnings fixes.
Eric Anholt [Fri, 2 May 2008 19:25:48 +0000 (12:25 -0700)]
[intel] Warnings fixes.

16 years ago[intel] Merge intel_ioctl.h. Not sure how this slipped by in the .c merge.
Eric Anholt [Fri, 2 May 2008 19:25:12 +0000 (12:25 -0700)]
[intel] Merge intel_ioctl.h.  Not sure how this slipped by in the .c merge.

16 years agor5xx: Fragprog shader now handles TEX/TXP correctly.
Corbin Simpson [Fri, 2 May 2008 17:15:10 +0000 (10:15 -0700)]
r5xx: Fragprog shader now handles TEX/TXP correctly.

16 years agoStart of TEX/TXP support.
Corbin Simpson [Thu, 1 May 2008 18:57:29 +0000 (11:57 -0700)]
Start of TEX/TXP support.
Still having problems with temps and consts, though...

16 years agoAdded OPCODE_ABS, slightly fixed ADD/SUB
Corbin Simpson [Wed, 30 Apr 2008 06:13:00 +0000 (23:13 -0700)]
Added OPCODE_ABS, slightly fixed ADD/SUB

16 years agoInitial r5xx fragment program compiler support.
Corbin Simpson [Tue, 29 Apr 2008 20:04:39 +0000 (13:04 -0700)]
Initial r5xx fragment program compiler support.
Includes fallback shader and a handful of working opcodes.

16 years agoAdd chip id 71D5 (RV530 M66) to radeon_chipset.h
Corbin Simpson [Tue, 29 Apr 2008 20:03:32 +0000 (13:03 -0700)]
Add chip id 71D5 (RV530 M66) to radeon_chipset.h

16 years agofixup r500 bits for renaming
Dave Airlie [Wed, 16 Apr 2008 10:42:15 +0000 (20:42 +1000)]
fixup r500 bits for renaming

16 years agor500: fixup fake shader to keep gears going
Dave Airlie [Sat, 22 Mar 2008 01:00:25 +0000 (11:00 +1000)]
r500: fixup fake shader to keep gears going

16 years agor500: enable gb tiling for r5xx
Dave Airlie [Sat, 22 Mar 2008 00:56:48 +0000 (10:56 +1000)]
r500: enable gb tiling for r5xx

16 years agor500: fixup support for emitting fragment program to hardware.
Dave Airlie [Sat, 22 Mar 2008 00:55:32 +0000 (10:55 +1000)]
r500: fixup support for emitting fragment program to hardware.

Also fixup the constant emission

this breaks glxgears from what I can see but its another step to correctness

16 years agor500: setup fragment program constant emission atom
Dave Airlie [Fri, 21 Mar 2008 07:05:29 +0000 (17:05 +1000)]
r500: setup fragment program constant emission atom

16 years agor300: add rv530 pci id for the t60p laptop
Dave Airlie [Thu, 20 Mar 2008 04:34:04 +0000 (14:34 +1000)]
r300: add rv530 pci id for the t60p laptop

16 years agor300: this code really shouldn't be here.
Dave Airlie [Thu, 20 Mar 2008 04:30:59 +0000 (14:30 +1000)]
r300: this code really shouldn't be here.

For R500 just ignore it for now while I do something interesting like
run glxgears.

16 years agomesa: cleanup state emission and rs for r500
Dave Airlie [Thu, 20 Mar 2008 04:21:10 +0000 (14:21 +1000)]
mesa: cleanup state emission and rs for r500

trivial clear app now renders

16 years agor500 RS unit setup
Dave Airlie [Thu, 20 Mar 2008 03:55:56 +0000 (13:55 +1000)]
r500 RS unit setup

16 years agomore r500 vs r300 kickin
Dave Airlie [Wed, 19 Mar 2008 06:29:11 +0000 (16:29 +1000)]
more r500 vs r300 kickin

16 years agosome basic r500 portage
Dave Airlie [Mon, 17 Mar 2008 11:09:49 +0000 (21:09 +1000)]
some basic r500 portage

16 years agor500: fragprog
Dave Airlie [Mon, 17 Mar 2008 09:05:15 +0000 (19:05 +1000)]
r500: fragprog

16 years agoR3/4/5: fix TCL on r5xx, cleanup PVS code
Alex Deucher [Fri, 2 May 2008 17:56:56 +0000 (13:56 -0400)]
R3/4/5: fix TCL on r5xx, cleanup PVS code

16 years agoR300: fix VAP_OUTPUT_VTX_FMT_1 defines
Alex Deucher [Fri, 2 May 2008 17:03:48 +0000 (13:03 -0400)]
R300: fix VAP_OUTPUT_VTX_FMT_1 defines

16 years agoR300: cleanup VAP_CLIP_CNTL
Alex Deucher [Fri, 2 May 2008 16:48:39 +0000 (12:48 -0400)]
R300: cleanup VAP_CLIP_CNTL

16 years agoR300: clean up VAP_PROG_STREAM_CNTL* register usage
Alex Deucher [Fri, 2 May 2008 16:29:40 +0000 (12:29 -0400)]
R300: clean up VAP_PROG_STREAM_CNTL* register usage

16 years agoUpdate comment
Alex Deucher [Fri, 2 May 2008 14:54:20 +0000 (10:54 -0400)]
Update comment

16 years agoR5xx: various updates
Alex Deucher [Fri, 2 May 2008 14:51:40 +0000 (10:51 -0400)]
R5xx: various updates
- fixup VAP_CNTL setup
- remove extra instruction in r5xx passthrough shader
- add notes about pipe config

16 years agofix conversion of GLfloat display list IDs
Brian Paul [Thu, 1 May 2008 20:59:34 +0000 (14:59 -0600)]
fix conversion of GLfloat display list IDs

Use floor() to convert to int (per Mark Kildard and the SI).
Also, change translate_id() to return a signed integer since we may be
offsetting from GL_LIST_BASE.

16 years agoR5xx: Add R5xx pci ids
Alex Deucher [Thu, 1 May 2008 20:02:58 +0000 (16:02 -0400)]
R5xx:  Add R5xx pci ids

16 years agoMerge branch 'r500test' of git://people.freedesktop.org/~airlied/mesa into r345-cleanup
Alex Deucher [Thu, 1 May 2008 18:51:26 +0000 (14:51 -0400)]
Merge branch 'r500test' of git://people.freedesktop.org/~airlied/mesa into r345-cleanup

16 years agoAdd support for GL_REPLACE_EXT texture env mode.
Brian Paul [Wed, 30 Apr 2008 22:05:01 +0000 (16:05 -0600)]
Add support for GL_REPLACE_EXT texture env mode.

GL_REPLACE_EXT comes from the ancient GL_EXT_texture extension.  Found an old demo that
actually uses it.
The values of the GL_REPLACE and GL_REPLACE_EXT tokens is different, unfortunately.

16 years agoautoconf: Fail from autoconf if the pkg-config macros aren't defined
Dan Nicholson [Wed, 30 Apr 2008 20:53:37 +0000 (13:53 -0700)]
autoconf: Fail from autoconf if the pkg-config macros aren't defined

Instead of postponing the error from missing pkg-config macros to when
configure is run, make autoconf exit by using m4 macros.

16 years agoadded xdemos/sharedtex.c test
Brian Paul [Wed, 30 Apr 2008 20:43:28 +0000 (14:43 -0600)]
added xdemos/sharedtex.c test

Test that modifications to a texture object in one rendering context are seen
in a second rendering context.
Press 't' to change the texture's image/colors.

16 years agoautoconf: Don't substitute MESA_MAJOR and friends
Dan Nicholson [Wed, 30 Apr 2008 20:28:03 +0000 (13:28 -0700)]
autoconf: Don't substitute MESA_MAJOR and friends

Since the autoconf config inherits from default, we don't need to
duplicate and substitute the MESA_* version numbers in configure.ac.
The version number is only needed in configure for the help text.

16 years agointel: test cpp to ensure mipmap tree matches texture image.
Xiang, Haihao [Wed, 30 Apr 2008 08:27:52 +0000 (16:27 +0800)]
intel: test cpp to ensure mipmap tree matches texture image.

16 years agodisable GL_TEXTURE_1D at end of frame to fix failed assertion
Brian Paul [Tue, 29 Apr 2008 21:02:46 +0000 (15:02 -0600)]
disable GL_TEXTURE_1D at end of frame to fix failed assertion

16 years agomesa: adjust glBitmap coords by a small epsilon
Brian Paul [Fri, 25 Apr 2008 15:46:43 +0000 (09:46 -0600)]
mesa: adjust glBitmap coords by a small epsilon

Fixes problem with bitmaps jumping around by one pixel depending on window
size.  The rasterpos is often X.9999 instead of X+1.
Run progs/redbook/drawf and resize window to check.

Cherry picked from gallium-0.1 branch

16 years agor200: fix state submission issue causing bogus textures (bug 15730)
Ove Kaaven [Tue, 29 Apr 2008 20:14:05 +0000 (22:14 +0200)]
r200: fix state submission issue causing bogus textures (bug 15730)

16 years agoChange default of driconf "allow_large_textures" to announce hardware limits.
Michel Dänzer [Tue, 29 Apr 2008 16:43:28 +0000 (18:43 +0200)]
Change default of driconf "allow_large_textures" to announce hardware limits.

The previous default these days served mostly to cause artifical problems with
GLX compositing managers like compiz (see e.g.
http://bugs.freedesktop.org/show_bug.cgi?id=10501).