Mesa (master): gallium/vc4: PIPE_CAP_VIDEO_MEMORY return the amount of system ram

Emil Velikov evelikov at kemper.freedesktop.org
Fri Aug 15 22:43:18 UTC 2014


Module: Mesa
Branch: master
Commit: 1e1d2857011cce13c1d67eec6711381debcd26f3
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1e1d2857011cce13c1d67eec6711381debcd26f3

Author: Emil Velikov <emil.l.velikov at gmail.com>
Date:   Fri Aug 15 20:07:09 2014 +0100

gallium/vc4: PIPE_CAP_VIDEO_MEMORY return the amount of system ram

Suggested-by: Eric Anholt <eric at anholt.net>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-by: Eric Anholt <eric at anholt.net>

---

 src/gallium/drivers/vc4/vc4_screen.c |   12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/gallium/drivers/vc4/vc4_screen.c b/src/gallium/drivers/vc4/vc4_screen.c
index da68f72..852ff87 100644
--- a/src/gallium/drivers/vc4/vc4_screen.c
+++ b/src/gallium/drivers/vc4/vc4_screen.c
@@ -24,6 +24,7 @@
 
 #include <stdio.h>
 
+#include "os/os_misc.h"
 #include "pipe/p_defines.h"
 #include "pipe/p_screen.h"
 #include "pipe/p_state.h"
@@ -207,9 +208,14 @@ vc4_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
                 return 0xFFFFFFFF;
         case PIPE_CAP_ACCELERATED:
                 return 1;
-        case PIPE_CAP_VIDEO_MEMORY:
-                fprintf(stderr, "FINISHME: The value returned is incorrect\n");
-                return 10;
+        case PIPE_CAP_VIDEO_MEMORY: {
+                uint64_t system_memory;
+
+                if (!os_get_total_physical_memory(&system_memory))
+                        return 0;
+
+                return (int)(system_memory >> 20);
+        }
         case PIPE_CAP_UMA:
                 return 1;
 




More information about the mesa-commit mailing list