lkml.org 
[lkml]   [2011]   [Sep]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: Proposal for a low-level Linux display framework
    > This would leave us with the issue of controlling formats and other parameters 
    > on the pipelines. We could keep separate DRM, KMS, FB and V4L APIs for that,

    There are some other differences that matter. The exact state and
    behaviour of memory, sequencing of accesses, cache control and management
    are a critical part of DRM for most GPUs, as is the ability to have them
    in swap backed objects and to do memory management of them. Fences and
    the like are a big part of the logic of many renderers and the same
    fencing has to be applied between capture and GPU, and also in some cases
    between playback accelerators (eg MP4 playback) and GPU.

    To glue them together I think you'd need to support the use of GEM objects
    (maybe extended) in V4L. That may actually make life cleaner and simpler
    in some respects because GEM objects are refcounted nicely and have
    handles.

    DRM and KMS abstract out stuff into what is akin to V4L subdevices for
    the various objects the video card has that matter for display - from
    scanout buffers to the various video outputs, timings and the like.

    I don't know what it's like with OMAP but for some of the x86 stuff
    particularly low speed/power stuff the capture devices, GPU and overlays
    tend to be fairly incestuous in order to do things like 1080i/p preview
    while recording from the camera.

    GPU is also a bit weird in some ways because while its normally
    nonsensical to do things like use the capture facility one card to drive
    part of another, it's actually rather useful (although not supported
    really by DRM) to do exactly that with GPUs. A simple example is a dual
    headed box with a dumb frame buffer and an accelerated output both of
    which are using memory that can be hit by the accelerated card. Classic
    example being a USB plug in monitor.


    \
     
     \ /
      Last update: 2011-09-19 00:27    [W:4.757 / U:0.192 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site