summaryrefslogtreecommitdiff
path: root/Development
diff options
context:
space:
mode:
authorAdamJackson <AdamJackson@web>2016-09-22 12:56:23 +0000
committerxorg <iki-xorg@freedesktop.org>2016-09-22 12:56:23 +0000
commit198c9365636229308828a9e6c1d0b0f6ede63905 (patch)
treecbfe9e42383095ae36beb0c922947f7f21d7eacf /Development
parent9bfffb6e2fb58ae2a194c00a5f819a97ed1fc745 (diff)
xdc2016: glamor stub
Diffstat (limited to 'Development')
-rw-r--r--Development/Documentation/Performance.mdwn8
1 files changed, 8 insertions, 0 deletions
diff --git a/Development/Documentation/Performance.mdwn b/Development/Documentation/Performance.mdwn
index 3bb3fa25..18820f86 100644
--- a/Development/Documentation/Performance.mdwn
+++ b/Development/Documentation/Performance.mdwn
@@ -59,6 +59,14 @@ EXA started from the lessons learned from [[KAA|http://www.anholt.net/papers/kdr
The [[ExaStatus|ExaStatus]] page contains the current driver support status.
+EXA and its derivatives work well enough, but their implementations in drivers typically work by explicitly building GPU-specific rendering command sequences. To address this, we wrote...
+
+#### Glamor
+
+Glamor is an acceleration architecture that implements X rendering in terms of OpenGL. This allows the X server to leverage the GL driver already available in Mesa, meaning we only need to write the acceleration code once, and enable each new GPU's acceleration only in Mesa instead of also in the X driver.
+
+This section, and glamor itself, are quite promising, but under construction.
+
#### Framebuffer Layout
Most modern graphics cards can be run in either linear or tiled framebuffer modes. Linear modes are simple, you start in the top-left corner and move to the bottom-right, all the way across a single row before changing rows. In tiled modes the framebuffer is broken up into a series of small tiles, usually 8x8 or so, and memory is laid out such that the first 64 pixels belong to the first tile, then the next 64 to the second tile, etc. You can think of linear framebuffer being a tiled framebuffer where each tile is 1x1.