From 6dca473059232825fda1c73ddfd2c9994676cf10 Mon Sep 17 00:00:00 2001 From: RPJosh Date: Wed, 12 Jun 2024 00:03:21 +0200 Subject: [PATCH] Fix open-h264 encoding for AMD GPU --- src/buffer.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/buffer.c b/src/buffer.c index 37b6f7c..1cd1e7e 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -38,12 +38,12 @@ #include #include -#ifdef HAVE_LINUX_DMA_HEAP +// #ifdef HAVE_LINUX_DMA_HEAP #include #include #define LINUX_CMA_PATH "/dev/dma_heap/linux,cma" -#endif // HAVE_LINUX_DMA_HEAP +//#endif // HAVE_LINUX_DMA_HEAP #endif // ENABLE_SCREENCOPY_DMABUF extern struct wl_shm* wl_shm; @@ -218,14 +218,16 @@ static struct wv_buffer* wv_buffer_create_dmabuf(int width, int height, self->height = height; self->format = fourcc; -#ifdef HAVE_LINUX_DMA_HEAP +// Checks not needed anymore. Fixed with SCANOUT and within neatvnc for most GPUs. +// But this could still fail! +//#ifdef HAVE_LINUX_DMA_HEAP self->bo = have_linux_cma() ? create_cma_gbm_bo(width, height, fourcc) : gbm_bo_create(gbm_device, width, height, fourcc, - GBM_BO_USE_RENDERING); -#endif - self->bo = gbm_bo_create(gbm_device, width, height, fourcc, - GBM_BO_USE_RENDERING); + GBM_BO_USE_RENDERING | GBM_BO_USE_SCANOUT); +//#endif +// self->bo = gbm_bo_create(gbm_device, width, height, fourcc, +// GBM_BO_USE_RENDERING); if (!self->bo) goto bo_failure;