[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