[Mesa-dev] [PATCH v2 1/3] gallium: add renderonly library

Alexandre Courbot acourbot at nvidia.com
Wed Jan 11 09:07:55 UTC 2017


On 12/24/2016 07:04 AM, Christian Gmeiner wrote:
> This a very lightweight library to add basic support for renderonly
> GPUs. A kms gallium driver must specify how a renderonly_scanout
> objects gets created. Also it must provide file handles to the used
> kms device and the used gpu device.
> 
> This could look like:
> struct renderonly ro = {
>    .create_for_resource = renderonly_create_gpu_import_for_resource,
>    .kms_fd = fd,
>    .gpu_fd = open("/dev/dri/renderD128", O_RDWR | O_CLOEXEC)
> };
> 
> The renderonly_scanout object exits for two reasons:
>  - Do any special treatment for a scanout resource like importing the
>    GPU resource into the scanout hw.
>  - Make it easier for a gallium driver to detect if anything special
>    needs to be done in flush_resource(..) like a resolve to linear.
> 
> A GPU gallium driver which gets used as renderonly GPU needs to be
> aware of the renderonly library.
> 
> This library will likely break android support and hopefully will get
> replaced with a better solution based on gbm2.
> 
> Changes from V1 -> V2:
>  - reworked the lifecycle of renderonly object (suggested by Nicolai Hähnle)
>  - killed the midlayer (suggested by Thierry Reding)
>  - made the API more explicit regarding gpu and kms fd's
>  - added some docs

Works fine with Tegra (see
https://github.com/Gnurou/mesa/tree/renderonly for the code, still hacky).

Tested-by: Alexandre Courbot <acourbot at nvidia.com>


More information about the mesa-dev mailing list