xserver-multidpi/glamor
Zhigang Gong 9e4567afe6 glamor: Change to use system memory for write only access.
If the pixmap is write-only, then use a pbo mapping will not
get too much benefit. And even worse, when the software
rendering is access this mapped data range, it's much slower
than just using a system memory. From the glamor_prepare_access
glamor_finish_access view, we have two options here:

option 1:
1.0 create a pbo
1.1 copy texture to the pbo
1.2 map the pbo to va
1.3 access the va directly in software rendering.
1.4 bind the pbo as unpack buffer & draw it back to texture.

option 2:
2.0 allocate a block memory in system memory space.
2.1 read the texture memory to the system memory.
2.2 access the system memory and do rendering.
2.3 draw the system memory back to texture.

In general, 1.1 plush 1.2 is much faster than 2.1.
And 1.3 is slower than 2.2. 1.4 is faster than 2.3.

If the access mode is read only or read write, option 1
may be fater, but if the access mode is write only. Then
most of the time option 1 is much faster.

Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>
2011-09-26 16:46:36 +08:00
..
glu3 glamor: Silent compilation warnings due to some deprecated APIs. 2011-09-26 16:46:34 +08:00
glamor_copyarea.c glamor: Prepare/finish access once if src equal to dst. 2011-09-26 16:46:36 +08:00
glamor_copywindow.c glamor: Add CopyWindow implementation so it doesn't crash. 2011-09-26 16:46:32 +08:00
glamor_core.c glamor: Don't always fallback everything when change window attr. 2011-09-26 16:46:35 +08:00
glamor_debug.h glamor: Don't always fallback everything when change window attr. 2011-09-26 16:46:35 +08:00
glamor_fill.c glamor: Concentrate and reduce some coords processing code. 2011-09-26 16:46:35 +08:00
glamor_fillspans.c glamor : Add dynamic texture uploading feature. 2011-09-26 16:46:35 +08:00
glamor_getspans.c glamor: Concentrate and reduce some coords processing code. 2011-09-26 16:46:35 +08:00
glamor_glyphs.c glamor : Add dynamic texture uploading feature. 2011-09-26 16:46:35 +08:00
glamor_picture.c glamor : Add dynamic texture uploading feature. 2011-09-26 16:46:35 +08:00
glamor_pixmap.c glamor: Change to use system memory for write only access. 2011-09-26 16:46:36 +08:00
glamor_polyfillrect.c glamor : Add dynamic texture uploading feature. 2011-09-26 16:46:35 +08:00
glamor_polylines.c glamor : Add dynamic texture uploading feature. 2011-09-26 16:46:35 +08:00
glamor_priv.h glamor: Concentrate and reduce some coords processing code. 2011-09-26 16:46:35 +08:00
glamor_putimage.c glamor: Concentrate and reduce some coords processing code. 2011-09-26 16:46:35 +08:00
glamor_render.c glamor: Don't need to read dest if op is SRC or CLEAR. 2011-09-26 16:46:35 +08:00
glamor_setspans.c glamor : Add dynamic texture uploading feature. 2011-09-26 16:46:35 +08:00
glamor_tile.c glamor: Don't always fallback everything when change window attr. 2011-09-26 16:46:35 +08:00
glamor_triangles.c glamor: Add render triangles support. 2011-09-26 16:46:35 +08:00
glamor_utils.h glamor: Concentrate and reduce some coords processing code. 2011-09-26 16:46:35 +08:00
glamor_window.c glamor: Don't always fallback everything when change window attr. 2011-09-26 16:46:35 +08:00
glamor.c glamor: Initialize pixmap private's container to correct value. 2011-09-26 16:46:35 +08:00
glamor.h glamor : Add dynamic texture uploading feature. 2011-09-26 16:46:35 +08:00
Makefile.am glamor: Don't always fallback everything when change window attr. 2011-09-26 16:46:35 +08:00