Commit Graph

10914 Commits

Author SHA1 Message Date
Eric Anholt
cfb8dea815 glamor: Hook up miGetImage to fix some invalid accesses. 2011-09-26 16:46:31 +08:00
Eric Anholt
e3c02c09c1 glamor: Add ALU support to solid, tile, and putimage. 2011-09-26 16:46:31 +08:00
Eric Anholt
2b657d91d8 glamor: Add untested putimage support. 2011-09-26 16:46:31 +08:00
Eric Anholt
f66e5c4145 glamor: Add 8bpp to get/setspans. 2011-09-26 16:46:31 +08:00
Eric Anholt
93ad091442 glamor: Add trapezoids code.
This fixes segfaults on starting gnome-terminal.
2011-09-26 16:46:31 +08:00
Eric Anholt
60ca0260f2 glamor: Add more solid_fail_regions for software fallbacks. 2011-09-26 16:46:31 +08:00
Eric Anholt
7500ee2b02 glamor: Fill in 1 and 24-bit getspans. 2011-09-26 16:46:31 +08:00
Eric Anholt
f6cffbb2ba glamor: Add stub Composite support. 2011-09-26 16:46:31 +08:00
Eric Anholt
2fa26c4958 glamor: Free resources when destroying pixmaps. 2011-09-26 16:46:31 +08:00
Eric Anholt
16c3b929dd glamor: Add untested support for tile filling. 2011-09-26 16:46:31 +08:00
Eric Anholt
8016135ec7 glamor: Fill out glamor_get_color_4f_from_pixel() a bit. 2011-09-26 16:46:31 +08:00
Eric Anholt
519103565c glamor: Create FBOs for pixmaps. 2011-09-26 16:46:31 +08:00
Eric Anholt
f92d1478e9 glamor: Maybe fix up the format/type for setspans. 2011-09-26 16:46:30 +08:00
Eric Anholt
4f139db92f glamor: Add getspans implementation. 2011-09-26 16:46:30 +08:00
Eric Anholt
f1dbed5456 glamor: Move to using shader objects. 2011-09-26 16:46:30 +08:00
Eric Anholt
fbbdd788cb glamor: Fix up DrawPixels arguments to bear some relation to reality. 2011-09-26 16:46:30 +08:00
Eric Anholt
74f262bcdb glamor: remove gratuitous flush. 2011-09-26 16:46:30 +08:00
Eric Anholt
399e006989 glamor: Fix up block/wakeup handler.
Prototypes are fixed, and we don't need to flush on wakeup.
2011-09-26 16:46:30 +08:00
Eric Anholt
2e35ceca65 ephyr: Use GLEW.
This will hide all sorts of extension stuff from us.
2011-09-26 16:46:30 +08:00
Eric Anholt
370df817ac ephyr: Make sure a glamor-using window is created with a glx visual. 2011-09-26 16:46:30 +08:00
Eric Anholt
08097434ec add fill files, merge with first real attempt at rendering. 2011-09-26 16:46:30 +08:00
Eric Anholt
e32efb02e5 ephyr: merge the host glamor bits into hostx. 2011-09-26 16:46:30 +08:00
Eric Anholt
df083fab84 glamor: first real attempt at rendering. 2011-09-26 16:46:30 +08:00
Eric Anholt
1b151f2e6a glamor: glFlush from the blockhandler so rendering happens. 2011-09-26 16:46:30 +08:00
Eric Anholt
b530cdea4a glamor: Use a nicer struct initializer for gcops. 2011-09-26 16:46:30 +08:00
Eric Anholt
4d52ae7f2d glamor: Start trying to hook up the rendering bits 2011-09-26 16:46:30 +08:00
Eric Anholt
41e3e580de glamor: Use -lgl for Xephyr if GLX is unset.
I'm experimenting with that because of conflicts with GL dispatch tables.
2011-09-26 16:46:30 +08:00
Eric Anholt
8885b3b1ff Add exa/glamor to _DEPENDENCIES so the bin gets rebuilt with the libs. 2011-09-26 16:46:30 +08:00
Eric Anholt
da6e0ffad2 More ephyr/glamor glue. 2011-09-26 16:46:30 +08:00
Eric Anholt
0ec823ce5b Add build infrastructure for glamor. 2011-09-26 16:37:50 +08:00
Keith Packard
7fb4bef039 Merge remote-tracking branch 'mattst88/for-keith' 2011-09-21 14:34:27 -07:00
Keith Packard
98f4940093 Merge remote-tracking branch 'alanc/master' 2011-09-21 14:30:19 -07:00
Keith Packard
b018b81533 Merge remote-tracking branch 'jamey/reviewed' 2011-09-21 14:17:14 -07:00
Peter Harris
c90903b4f7 xkb: add missing swaps for xkbGetDeviceInfoReply
Caught during review of e095369bf.

Signed-off-by: Peter Harris <pharris@opentext.com>
Reviewed-by-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Matt Turner <mattst88@gmail.com>
2011-09-21 17:14:45 -04:00
Matt Turner
d206d52f65 Use __builtin_constant_p to determine if we can use lswapl
If the address of the swapped memory location is known at compile time,
we can check its alignment at no runtime cost and use lswapl instead.

           text   data    bss      dec     hex  filename
before: 1872820  52136  78040  2002996  1e9034  hw/xfree86/Xorg
after:  1864396  52136  78040  1994572  1e6f4c  hw/xfree86/Xorg

bswap instructions: 131 ->  308 (used in lswapl)
rol instructions:   943 -> 1174 (used in lswaps)

Reviewed-by: Peter Harris <pharris@opentext.com>
Signed-off-by: Matt Turner <mattst88@gmail.com>
2011-09-21 17:14:44 -04:00
Matt Turner
889b700e77 Use lswap{l,s} in cpswap{l,s}
Should be safe since cpswap isn't used on pointers.

           text   data    bss      dec     hex  filename
before: 1875588  52136  78040  2005764  1e9b04  hw/xfree86/Xorg
after:  1872820  52136  78040  2002996  1e9034  hw/xfree86/Xorg

bswap instructions:   5 -> 131 (used in lswapl)
rol instructions:   811 -> 943 (used in lswaps)

Reviewed-by: Peter Harris <pharris@opentext.com>
Signed-off-by: Matt Turner <mattst88@gmail.com>
2011-09-21 17:14:44 -04:00
Matt Turner
a2f0ff5f73 Make lswap{l,s} inline functions
text   data    bss      dec     hex  filename
before: 1875668  52136  78040  2005844  1e9b54  hw/xfree86/Xorg
after:  1875588  52136  78040  2005764  1e9b04  hw/xfree86/Xorg

Reviewed-by: Peter Harris <pharris@opentext.com>
Signed-off-by: Matt Turner <mattst88@gmail.com>
2011-09-21 17:14:44 -04:00
Matt Turner
e8ff555b95 Add type checking to swap macros
The original macros are retained (instead of replacing them with inline
functions) because of implicit type promotion. That is, an int16 passed
to an inline function taking int32 would be implicitly promoted to int32
without a warning.

Reviewed-by: Peter Harris <pharris@opentext.com>
Signed-off-by: Matt Turner <mattst88@gmail.com>
2011-09-21 17:14:44 -04:00
Matt Turner
893e86a49e Introduce swap_uint{16,32} functions, used in swap{l,s}
Reviewed-by: Peter Harris <pharris@opentext.com>
Signed-off-by: Matt Turner <mattst88@gmail.com>
2011-09-21 17:14:44 -04:00
Matt Turner
54770c980c Cast char* buffers to swap functions
Reviewed-by: Peter Harris <pharris@opentext.com>
Signed-off-by: Matt Turner <mattst88@gmail.com>
2011-09-21 17:14:44 -04:00
Matt Turner
9edcae78c4 Use correct swap{l,s} (or none at all for CARD8)
Swapping the wrong size was never caught because swap{l,s} are macros.

It's clear in the case of Xext/xres.c, that the author believed
client_major/minor to be CARD16 from looking at the code in the first
hunk.

v2: dmx.c fixes from Keith.

Reviewed-by: Peter Harris <pharris@opentext.com>
Signed-off-by: Matt Turner <mattst88@gmail.com>
2011-09-21 17:14:16 -04:00
Aaron Plattner
03d032991d fb: Rename wfbTriangles and wfbTrapezoids
These symbols were not renamed when they were added to libfb:

 # nm -D libwfb.so | grep ' fb'
 0000000000028d00 T fbTrapezoids
 0000000000028d60 T fbTriangles

This causes corruption and/or crashes on wfb-ful drivers like nvidia:

 Program received signal SIGABRT, Aborted.
 0x00007fd67f3a0405 in *__GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
 64      ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
     in ../nptl/sysdeps/unix/sysv/linux/raise.c
 (gdb) bt
 #0  0x00007fd67f3a0405 in *__GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
 #1  0x00007fd67f3a3680 in *__GI_abort () at abort.c:92
 #2  0x00007fd67f3995b1 in *__GI___assert_fail (assertion=0x7fd679ecb804 "key->initialized", file=<optimized out>, line=116, function=0x7fd679ecbbc0 "dixGetPrivateAddr")
     at assert.c:81
 #3  0x00007fd679ec55b6 in ?? () from /usr/lib/xorg/modules/libfb.so
 #4  0x00007fd679eca9ef in ?? () from /usr/lib/xorg/modules/libfb.so
 #5  0x00007fd679ecae20 in fbTriangles () from /usr/lib/xorg/modules/libfb.so
 #6  0x00007fd67a58fc55 in ?? () from /usr/lib/xorg/modules/drivers/nvidia_drv.so
 #7  0x00000000004f38d1 in ?? ()
 #8  0x0000000000437ae9 in ?? ()
 #9  0x0000000000426eaa in ?? ()
 #10 0x00007fd67f38cead in __libc_start_main (main=<optimized out>, argc=<optimized out>, ubp_av=<optimized out>, init=<optimized out>, fini=<optimized out>,
     rtld_fini=<optimized out>, stack_end=0x7fff99860d78) at libc-start.c:228
 #11 0x000000000042719d in _start ()

Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2011-09-21 14:14:05 -07:00
Matt Turner
2c7c520cfe Use internal temp variable for swap macros
Also, fix whitespace, mainly around
	swaps(&rep.sequenceNumber)

Reviewed-by: Peter Harris <pharris@opentext.com>
Signed-off-by: Matt Turner <mattst88@gmail.com>
2011-09-21 17:12:04 -04:00
Matt Turner
c10bad3d3e Silence printf format warnings in helper_exec.c
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Matt Turner <mattst88@gmail.com>
2011-09-21 17:12:04 -04:00
Matt Turner
9eab5b3443 Replace Fabs() macro with fabs() function
gcc generates better code with fabs() anyway.

Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Tested-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Matt Turner <mattst88@gmail.com>
2011-09-21 17:12:04 -04:00
Matt Turner
40a47bd628 Remove unnecessary #undefs of [f]abs and old comments
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Tested-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Matt Turner <mattst88@gmail.com>
2011-09-21 17:12:04 -04:00
Gaetan Nadon
079a7585e4 devbook.am: maintenance update from docbook.am
The developer docs are generated from a subset of docbook.am
which is sometimes updated.

The one difference for xserver is the embedded css style in the HEAD element.

Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
Signed-off-by: Keith Packard <keithp@keithp.com>
2011-09-21 14:07:52 -07:00
Gaetan Nadon
82c55b5a99 docbook.am: embed css styles inside the HTML HEAD element
Rather than referring to the external xorg.css stylesheet, embed the content
of the file in the html output produced. This is accomplished by using
version 1.10 of xorg-xhtml.xsl.

This makes the whole html docs tree much more relocatable.
In addition, it eliminates xorg.css as a runtime file which makes
xorg-sgml-doctools a build time only package.

Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
Signed-off-by: Keith Packard <keithp@keithp.com>
2011-09-21 14:07:49 -07:00
Gaetan Nadon
1602444e05 docbook.am: global maintenance update - entities, images and olinking
Adding support in libX11 for html chunking caused a reorg of docbook.am
as well as the xorg-sgml-doctools masterdb for olinking.
The parameter img.src.path is added for pdf images.
A searchpath to the root builddir is added for local entities, if present.
This feature was initiated by xserver module and made available to all.

The docbook.am makefile hides all the details and is identical for
all 22 modules having DocBook documentation. It is included by a thin
Makefile.am which requires no docbook knowledge.

Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
Signed-off-by: Keith Packard <keithp@keithp.com>
2011-09-21 14:07:46 -07:00
Pauli Nieminen
871d65790e DRI2: Allow DDX to validate swap_limit changes
DDX can now implement validation for swap_limit changes to prevent
configurations that are not support in driver.

Signed-off-by: Pauli Nieminen <ext-pauli.nieminen@nokia.com>
CC: Mario Kleiner <mario.kleiner@tuebingen.mpg.de>
Reviewed-by: Mario Kleiner <mario.kleiner@tuebingen.mpg.de>
Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2011-09-21 14:04:37 -07:00