[Mesa-dev] r600g old design -> new design

Michel Dänzer michel at daenzer.net
Wed Sep 29 03:35:10 PDT 2010

On Die, 2010-09-28 at 11:40 -0400, Jerome Glisse wrote: 
> - use score for placing bo, bo placement will be recorded in bo structure and
> each time a state is bind bo score will be updated (bo bound as framebuffer
> will get their score for placing into vram increase while bo bound as small
> vertex buffer will endup in GTT, also anytime a bo is mapped for transfer for
> CPU read its score for GTT placement increase thus bo that are often updated
> by CPU will more likely place into GTT)

Beware that the EXA 'classic' scheme originally (with the 'greedy' and
'smart' heuristics) used a score like that to determine whether a pixmap
should reside in VRAM or system memory, and it could result in quite
erratic / inconsistent / unreproducible behaviour when the score hovered
around the threshold. It could make fixing or even reproducing problems
harder than it is already.

> In case of dual API use (ie if cs ioctl is also use) kernel will assume GPU
> has loose context and will reprogram, reflush everythings.

This might be an opportunity for getting st/xorg working well with
r600g, so the corresponding changes to xf86-video-ati could at least be
delayed until the new scheme has matured in the Gallium tree.

Earthling Michel Dänzer           |                http://www.vmware.com
Libre software enthusiast         |          Debian, X and DRI developer

More information about the mesa-dev mailing list