[Mesa-dev] [PATCH v3 10/11] vc4: use common screen ref counting

Rob Herring robh at kernel.org
Wed Jul 20 22:25:11 UTC 2016


Use the common pipe_screen ref counting and fd hashing functions. The
mutex can be dropped as the pipe loader protects the create_screen()
calls.

Cc: Eric Anholt <eric at anholt.net>
Signed-off-by: Rob Herring <robh at kernel.org>
---
 src/gallium/winsys/vc4/drm/vc4_drm_winsys.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/gallium/winsys/vc4/drm/vc4_drm_winsys.c b/src/gallium/winsys/vc4/drm/vc4_drm_winsys.c
index c5434ad..acda743 100644
--- a/src/gallium/winsys/vc4/drm/vc4_drm_winsys.c
+++ b/src/gallium/winsys/vc4/drm/vc4_drm_winsys.c
@@ -22,6 +22,7 @@
  */
 
 #include <unistd.h>
+#include "util/u_screen.h"
 
 #include "vc4_drm_public.h"
 
@@ -30,5 +31,11 @@
 struct pipe_screen *
 vc4_drm_screen_create(int fd)
 {
-	return vc4_screen_create(dup(fd));
+        struct pipe_screen *pscreen = pipe_screen_reference(fd);
+        if (pscreen)
+            return pscreen;
+
+	pscreen = vc4_screen_create(dup(fd));
+	pipe_screen_reference_init(pscreen, fd);
+	return pscreen;
 }
-- 
2.9.2



More information about the mesa-dev mailing list