summaryrefslogtreecommitdiff
path: root/ReleaseNote
blob: 79b61f4b56bfdfa5e934baf593642d6a9976d38b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
= What's New =

The latest version is 0.4. Here is the new features in this releae:
 1. DRI2 now works well, and texture-from-pixmap also works well.
 2. Fully support glx including AIGLX, indirect glx's GL context
    coexists with glamor's GL context safely. Thanks for Chris
    Wilson's help to refine this function.
 3. Optimize most of the fallback path and avoid whole pixmap 
    downloading/uploading as much as possible.
 4. 1BPP picture uploading now will not fallback the whole rendering
    path.
 5. Fully support all color formats for GLES2 port. Thanks for
    Lipeng's contribution and testing for the GLES2 port on
    PVR545 platform. And thanks Zhengyu to fix some PVR releated problems.
 6. Fixed many of the bugs for cairo-test-suite, now we get almost
    identical or even better result than UXA.
 7. Implemented a fbo/texture cache pool mechanism which will reduce
    the over head of texture/fbo destruction and creation, and bring
    overall 15-20% performance imprvoement. On PVR545 platform, we
    even get about 10x performance improvement with this feature.

= How to Enable Glamor? =
To enable the Glamor, the following steps is needed:

 1. Rebuild the mesa using the parameter:
    --with-egl-platforms=x11,drm --with-gallium-drivers=  --enable-gbm --enable-shared-glapi --enable-glx-tls
 2. Rebuild the xf86-video-intel driver, add parameter
    --enable-glamor
    to enable glamor module which is embedded in intel driver.
 3. Build and install glamor source.
 4. Make sure you have the xorg configure file named glamor.conf
    at conf/glamor.conf under the directory
    /usr/share/X11/xorg.conf.d or /etc/X11/xorg.conf.d/. 
    Although make install will try to install that file to the correct
    directory. But it may failed, as if you are installing the xserver
    to a local directory, then the "make install" will install
    glamor.conf to your local directory rather than the two system
    directories. So you may need to manually copy the file to the system's 
    configuration directory. Otherwise, you will encounter segfault when
    start the xserver. Here is teh content of the glamor.conf.

  . Section "Module"
  . Load "dri2" 
  . Load "glamoregl"
  . EndSection

The reason why we need to load dri2/glamoregl earlier is both glx-xserver
and glamor are a dri2 loader. And glx-xserver side has a own glapi/dispatch table 
implementation which is a subset of the standard mesa's implementation. So if
the glx module is loaded earlier than dri2/glamoregl, then we will get an incomplete 
dispatch table and everything is broken in glamor then. This is also why we need to
add --enable-glx-tls parameters when build mesa, as we need to keep mesa align 
with Xserver's behavious, xserver will enable-glx-tls by default, but mesa will not.

After yuo finish all the above steps, then you can try to start x with glamor enabled
DDX. To make sure it's the glamor running, you can refer to Xorg.0.log, and 
check that the Glamor is enabled if you can find the log like:
 ''__intel(0): Use GLAMOR acceleration.__''

= Plan =

We plan to release next version 0.5 at early of June. And the following major features will be added:
 1. Fully gradient optimization including linear and radial. Actually, 
    the code is already in this release, but as it has some bugs and
    we disable it currently. Will fix those bug and enable it at next
    release.
 2. Large pixmap support. Currently, mesa only support 8Kx8K texture
    size, if a pixmap has larger size, we have to store it in main
    memory and is not efficient. This feature will tile a large
    pixmap to a texture array.
 3. Fully trapezoid optimization. Currently, the trapezoid rendering
    is not optimized, and it will call pixman to do the rasterization
    and then call glamor_composite to do the following composition,
    and then many texture uploading overhead is triggered there.
 4. Fine tune the fbo cache mechanism.