[Mesa-dev] cairo as state tracker

Enrico Weigelt, metux IT consult enrico.weigelt at gr13.net
Fri Aug 5 06:28:30 UTC 2016


On 05.08.2016 06:48, Enrico Weigelt, metux IT consult wrote:

... replying to myself... ;-o

> Let's start w/ a simple DRM usecase (no X involved). The big steps
> would IMHO be:
> #1: open the DRM device, setup fb and crtc

If I'm correct, the first thing to do is to get a proper winsys, right ?

So, in my DRM case I would open the drm device and probe for the actual
hardware and instanciate the corresponding winsys, eg. i915_drm_winsys.
Then create a proper pipe for that device. Or just use the appropriate
helpers in from drm-helper.h ?

Is there some function that does all that, including the probing,
together at once ? (some pipe_drm_create_screen(int fd) ...)

> #2: map a framebuffer (in the first steps I'd like to use cairo's
>     image surface - IOW: softraster - and later move to gallium
>     operations step by step)

Is that already done by the _*create_screen() step ?

By the way: what exactly does struct pipe_screen represent ?
An pipe and screen (for certain hw) together ?

Is that the centerpiece of all further operations, similar to cairo's
cairo_device_t ?


--mtx


More information about the mesa-dev mailing list