Re: [PATCH 4/9] drm/vc4: Add an API for creating GPU shaders in GEM BOs.

From: Eric Anholt
Date: Wed Dec 02 2015 - 14:24:46 EST


Emil Velikov <emil.l.velikov@xxxxxxxxx> writes:

> Hi Eric,
>
> On 1 December 2015 at 20:35, Eric Anholt <eric@xxxxxxxxxx> wrote:
>> Since we have no MMU, the kernel needs to validate that the submitted
>> shader code won't make any accesses to memory that the user doesn't
>> control, which involves banning some operations (general purpose DMA
>> writes), and tracking where we need to write out pointers for other
>> operations (texture sampling). Once it's validated, we return a GEM
>> BO containing the shader, which doesn't allow mapping for write or
>> exporting to other subsystems.
>>
>> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx>
>> ---
>> drivers/gpu/drm/vc4/Makefile | 3 +-
>> drivers/gpu/drm/vc4/vc4_bo.c | 140 ++++++++
>> drivers/gpu/drm/vc4/vc4_drv.c | 9 +-
>> drivers/gpu/drm/vc4/vc4_drv.h | 50 +++
>> drivers/gpu/drm/vc4/vc4_qpu_defines.h | 264 +++++++++++++++
>
> May I suggest that one 'exports' the header to something like
> libdrm_vc4 ? There are patches in flight for nouveau which in similar
> fashion, allow userspare to reuse existing api/abi.

I'll be putting this header in libdrm for use by Mesa and vc4-gpu-tools.
It will still have to live in the kernel as well, though.

Attachment: signature.asc
Description: PGP signature