[Mesa-dev] [PATCH 0/5] Memory info extensions

Nicolai Hähnle nhaehnle at gmail.com
Wed Feb 3 10:01:57 UTC 2016


On 02.02.2016 14:44, Marek Olšák wrote:
> Hi,
>
> The motivation behind this is to allow games that use proprietary extensions to query the amount of VRAM to be able to query it with Mesa too. Such games are unlikely to use GLX_MESA_query_renderer in the foreseeable feature.
>
> Unreal Engine 3 does use one of these. Despite that, it doesn't help. UE3 is unable to use advanced graphics and increase its GPU memory pool size even with these extensions.
>
> Anyway, I'd like to merge this.
>
> I don't plan to add a piglit, but I have a patch which adds support for both extensions to glxinfo.

Out of curiosity, which one of these does UE3 use?

The ATI extension part looks fine to me. I hope we don't run into 
problems where we end up reporting more aggressive availability than 
other drivers and then tempt applications into a behavior that triggers 
buffer swapping, but it seems like an acceptable risk.

The NV extension reports eviction counts, and I wonder if we might do 
more harm than good with an implementation that always reports 0 and 
misleads applications into thinking all is fine when they're really 
swapping buffers like hell.

For now, patches 1, 3, 5, and 4 without the NVX part are

Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

>
> Please review.
>
>   src/gallium/drivers/freedreno/freedreno_screen.c |  1 +
>   src/gallium/drivers/i915/i915_screen.c           |  1 +
>   src/gallium/drivers/ilo/ilo_screen.c             |  1 +
>   src/gallium/drivers/llvmpipe/lp_screen.c         |  1 +
>   src/gallium/drivers/nouveau/nv30/nv30_screen.c   |  1 +
>   src/gallium/drivers/nouveau/nv50/nv50_screen.c   |  1 +
>   src/gallium/drivers/nouveau/nvc0/nvc0_screen.c   |  1 +
>   src/gallium/drivers/r300/r300_screen.c           |  1 +
>   src/gallium/drivers/r600/r600_pipe.c             |  1 +
>   src/gallium/drivers/radeon/r600_pipe_common.c    | 35 +++++++++++++++++++++++++++++++++++
>   src/gallium/drivers/radeonsi/si_pipe.c           |  1 +
>   src/gallium/drivers/softpipe/sp_screen.c         |  1 +
>   src/gallium/drivers/svga/svga_screen.c           |  1 +
>   src/gallium/drivers/vc4/vc4_screen.c             |  1 +
>   src/gallium/include/pipe/p_defines.h             |  1 +
>   src/gallium/include/pipe/p_screen.h              |  6 ++++++
>   src/gallium/include/pipe/p_state.h               | 11 +++++++++++
>   src/mapi/glapi/gen/gl_API.xml                    | 14 ++++++++++++++
>   src/mesa/main/dd.h                               | 10 ++++++++++
>   src/mesa/main/extensions_table.h                 |  2 ++
>   src/mesa/main/get.c                              | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
>   src/mesa/main/get_hash_params.py                 | 12 ++++++++++++
>   src/mesa/main/mtypes.h                           |  2 ++
>   src/mesa/state_tracker/st_context.c              | 23 +++++++++++++++++++++++
>   src/mesa/state_tracker/st_extensions.c           |  2 ++
>   25 files changed, 185 insertions(+)
>
> Marek
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>


More information about the mesa-dev mailing list