renderer: use rendernode if available

init the CDRMRenderer on the rendernode if available otherwise fallback
to the displaynode.
This commit is contained in:
Tom Englund 2025-08-11 01:45:36 +02:00
parent be166e11d8
commit a637d4dd1b

View file

@ -602,7 +602,7 @@ bool Aquamarine::CDRMBackend::initMgpu() {
return false; return false;
} }
rendererState.renderer = CDRMRenderer::attempt(backend.lock(), newAllocator); rendererState.renderer = CDRMRenderer::attempt(backend.lock(), gpu->renderNodeFd >= 0 ? gpu->renderNodeFd : gpu->fd);
if (!rendererState.renderer) { if (!rendererState.renderer) {
backend->log(AQ_LOG_ERROR, "drm: initMgpu: no renderer"); backend->log(AQ_LOG_ERROR, "drm: initMgpu: no renderer");
@ -979,7 +979,7 @@ void Aquamarine::CDRMBackend::onReady() {
if (!a) if (!a)
backend->log(AQ_LOG_ERROR, "drm: onReady: no renderer for gl formats"); backend->log(AQ_LOG_ERROR, "drm: onReady: no renderer for gl formats");
else { else {
auto r = CDRMRenderer::attempt(backend.lock(), a); auto r = CDRMRenderer::attempt(backend.lock(), gpu->renderNodeFd >= 0 ? gpu->renderNodeFd : gpu->fd);
if (!r) if (!r)
backend->log(AQ_LOG_ERROR, "drm: onReady: no renderer for gl formats"); backend->log(AQ_LOG_ERROR, "drm: onReady: no renderer for gl formats");
else { else {