diff options
author | Christian Gmeiner <[email protected]> | 2016-12-23 20:33:10 +0100 |
---|---|---|
committer | Emil Velikov <[email protected]> | 2017-01-12 19:27:11 +0000 |
commit | 848b49b288fc2fa942418d12829db2e559ad4916 (patch) | |
tree | 7de7214bec98a0e275bb18399902984b8a5b9847 /src/gallium/auxiliary/Makefile.am | |
parent | 27a1c7ffbdd7d7a8fd1240413446c1172752d93b (diff) |
gallium: add renderonly library
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
Signed-off-by: Christian Gmeiner <[email protected]>
Acked-by: Emil Velikov <[email protected]>
Tested-by: Alexandre Courbot <[email protected]>
Diffstat (limited to 'src/gallium/auxiliary/Makefile.am')
-rw-r--r-- | src/gallium/auxiliary/Makefile.am | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/Makefile.am b/src/gallium/auxiliary/Makefile.am index 0d1aee69ff0..1154c791311 100644 --- a/src/gallium/auxiliary/Makefile.am +++ b/src/gallium/auxiliary/Makefile.am @@ -20,6 +20,16 @@ libgallium_la_SOURCES = \ $(NIR_SOURCES) \ $(GENERATED_SOURCES) +if HAVE_LIBDRM + +AM_CFLAGS += \ + $(LIBDRM_CFLAGS) + +libgallium_la_SOURCES += \ + $(RENDERONLY_SOURCES) + +endif + if HAVE_GALLIUM_LLVM AM_CFLAGS += \ |