[Intel-gfx] some questions about X and video driver

Wang Baisheng baisheng.wang.cn at gmail.com
Sun Aug 21 11:17:11 CEST 2011


Dear all:

I am very sorry to bother you all.

I am an linux programmer and very interesting in X and video driver.
Recently, I spend some time on studying the X and video driver. Now I have
some confusing but I can not find the answer through google so I have to
fall back on this list. I use the intel video driver version
"xf86-video-intel-2.13.0" and X Server is xorg-server-1.9.3.

Q1:In the function I830ScreenInit  in src/intel_driver.c:

I found that when it call fbScreenInit, it passes the frame buffer address
as NULL. Why not pass the frame buffer address to X Server or in somewhere
it passes it ?  I seek the list and Keith Packard said "The frame buffer
address is not set until it is mapped to the server address space, which
happens after fb is initialized.", but I can not find where the driver pass
the frame buffer address to the X server.

Q2: It seems that some functions, e.g. fbBltOne, will write the frame buffer
directly, so, will it cause the monitor flicker ? While in other functions,
e.g. uxa_poly_fill_rect, will use "uxa_get_offscreen_pixmap" to get the off
screen pixmap first, then it seems it pass this off screen pixmap address to
the HW. So I am very confusing for the different behaviour  of the above two
drawing operations.  And the pixmap is allocated in system memory not in
video memory (in video card), why not allocated in video card for reducing
the copy cost?

Q3: For some X drawing with hw accelerated, e.g. uxa_poly_fill_rect, It
seems there is no frame buffer address passed to the HW. So, the driver ( or
the kernel drm module) or the HW cares the frame buffer address or ... ?

Thank you in advance.

Regards,
Jacky Wang
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/intel-gfx/attachments/20110821/e5d79f38/attachment.html>


More information about the Intel-gfx mailing list