diff options
-rw-r--r-- | src/gallium/drivers/vc4/vc4_screen.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/gallium/drivers/vc4/vc4_screen.c b/src/gallium/drivers/vc4/vc4_screen.c index da68f72c73..852ff87132 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; |