[Mesa-dev] [Mesa-stable] [PATCH 12/25] dri/i9*5: correctly calculate the amount of system memory

Ian Romanick idr at freedesktop.org
Fri Feb 28 09:32:14 PST 2014


On 02/21/2014 07:04 PM, Emil Velikov wrote:
> The variable name states megabytes, while we calculate the amount in
> kilobytes. Correct this by dividing with the correct amount.
>
> Cc: "10.0 10.1" <mesa-stable at lists.freedesktop.org>
> Cc: Ian Romanick <ian.d.romanick at intel.com>
> Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
> ---
>   src/mesa/drivers/dri/i915/intel_screen.c | 2 +-
>   src/mesa/drivers/dri/i965/intel_screen.c | 2 +-
>   2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/i915/intel_screen.c b/src/mesa/drivers/dri/i915/intel_screen.c
> index 296df16..884fdb5 100644
> --- a/src/mesa/drivers/dri/i915/intel_screen.c
> +++ b/src/mesa/drivers/dri/i915/intel_screen.c
> @@ -744,7 +744,7 @@ i915_query_renderer_integer(__DRIscreen *psp, int param, unsigned int *value)
>            * (uint64_t) system_page_size;
>
>         const unsigned system_memory_megabytes =
> -         (unsigned) (system_memory_bytes / 1024);
> +         (unsigned) (system_memory_bytes / (1024 * 1024));

I don't think this is correct.  When I run piglit's 
glx-query-renderer-coverage, it says

glXQueryRendererIntegerMESA(GLX_RENDERER_VIDEO_MEMORY_MESA) values:
     1534

That's 1.5GiB, and that's the value I expect.  I guess the variable 
system_memory_bytes should be called system_memory_kbytes instead.

I see you have similar code in other patches in the series.  Does 
glx-query-renderer-coverage give sensible values in those drivers?

>         value[0] = MIN2(system_memory_megabytes, gpu_mappable_megabytes);
>         return 0;
> diff --git a/src/mesa/drivers/dri/i965/intel_screen.c b/src/mesa/drivers/dri/i965/intel_screen.c
> index b5b0294..07e6dea 100644
> --- a/src/mesa/drivers/dri/i965/intel_screen.c
> +++ b/src/mesa/drivers/dri/i965/intel_screen.c
> @@ -846,7 +846,7 @@ brw_query_renderer_integer(__DRIscreen *psp, int param, unsigned int *value)
>            * (uint64_t) system_page_size;
>
>         const unsigned system_memory_megabytes =
> -         (unsigned) (system_memory_bytes / 1024);
> +         (unsigned) (system_memory_bytes / (1024 * 1024));
>
>         value[0] = MIN2(system_memory_megabytes, gpu_mappable_megabytes);
>         return 0;
>



More information about the mesa-dev mailing list