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.haeh...@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@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to