Hello all,
It seems Wine doesn't use any way to reliably detect video memory size, and for many video cards needs it to be specified as HKCU\Software\Wine\Direct3D\VideoMemorySize key in registry. But there exist at least three (vendor-specific) GL/GLX extensions which seem to address exactly this. Namely, for Mesa it's GLX_MESA_query_renderer [1], for nVidia it's GL_NVX_gpu_memory_info [2], and for ATI/AMD it's GL_ATI_meminfo [3]. Mesa extension is shipping starting from Mesa 10.0, nVidia ships their extension in 195.XX drivers (said in specification; I have it exposed with my 313.09 driver), don't know status of ATI extension though (marked as "???" in spec).
It'd be good if Wine could utilize these. Is there any work towards this already?
Regards, Ruslan
[1]: http://www.opengl.org/registry/specs/MESA/glx_query_renderer.txt [2]: https://www.opengl.org/registry/specs/NVX/gpu_memory_info.txt [3]: http://www.opengl.org/registry/specs/ATI/meminfo.txt
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Am 2014-05-30 08:01, schrieb Ruslan Kabatsayev:
It'd be good if Wine could utilize these. Is there any work towards this already?
See the discussion between Andrei Slăvoiu and myself on this list. I don't know if Andrei will decide to have a look at the extension, it's his choice. Other than that I don't know of any efforts in this area. You're welcome to chime in :-) .
On Fri, May 30, 2014 at 5:36 AM, Stefan Dösinger stefandoesinger@gmail.com wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Am 2014-05-30 08:01, schrieb Ruslan Kabatsayev:
It'd be good if Wine could utilize these. Is there any work towards this already?
See the discussion between Andrei Slăvoiu and myself on this list. I don't know if Andrei will decide to have a look at the extension, it's his choice. Other than that I don't know of any efforts in this area. You're welcome to chime in :-) .
Reminds me of some old discussions like: http://www.winehq.org/pipermail/wine-devel/2012-April/094994.html (last question/answer).
On Fri, May 30, 2014 at 5:06 PM, Bruno Jesus 00cpxxx@gmail.com wrote:
On Fri, May 30, 2014 at 5:36 AM, Stefan Dösinger stefandoesinger@gmail.com wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Am 2014-05-30 08:01, schrieb Ruslan Kabatsayev:
It'd be good if Wine could utilize these. Is there any work towards this already?
See the discussion between Andrei Slăvoiu and myself on this list. I don't know if Andrei will decide to have a look at the extension, it's his choice. Other than that I don't know of any efforts in this area. You're welcome to chime in :-) .
Reminds me of some old discussions like: http://www.winehq.org/pipermail/wine-devel/2012-April/094994.html (last question/answer).
Hmm, this is an interesting point. But, for GLX_MESA_query_renderer, which appeared relatively recently, one can't say it's experimental or cannot return the total memory. Can its use be accepted by Wine? Maybe at some point Nvidia/AMD will implement it too (looks unlikely though), but at least for Mesa-powered drivers it would work.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Am 2014-05-30 15:25, schrieb Ruslan Kabatsayev:
Hmm, this is an interesting point. But, for GLX_MESA_query_renderer, which appeared relatively recently, one can't say it's experimental or cannot return the total memory. Can its use be accepted by Wine? Maybe at some point Nvidia/AMD will implement it too (looks unlikely though), but at least for Mesa-powered drivers it would work.
Yes, I see no reason why we can't use GLX_MESA_query_renderer. We still need the fallback path for drivers that do not support it though.
It's important to note that wined3d itself cannot use it. Wined3d uses WGL, not GLX. winex11.drv has to use GLX_MESA_query_renderer, and it can export its functionality to wined3d in the form of a WGL extension that is similar or equal to GLX_MESA_query_renderer.
winemac.drv can export the same extension. There are OSX functions to query the PCI IDs and video memory size. (I forgot the name though).
As far as I know the NV-CONTROL X11 (not GLX) extension exposes the same information, but doesn't have the issue that it's specification isn't finalized. Winex11.drv could in theory use it if GLX_MESA_query_renderer is not available.
On 30 May 2014 15:25, Ruslan Kabatsayev b7.10110111@gmail.com wrote:
Hmm, this is an interesting point. But, for GLX_MESA_query_renderer, which appeared relatively recently, one can't say it's experimental or cannot return the total memory. Can its use be accepted by Wine? Maybe at some point Nvidia/AMD will implement it too (looks unlikely though), but at least for Mesa-powered drivers it would work.
Yes, we'd like to use GLX_MESA_query_renderer for this. Do you happen to know if it's supported by the r600g driver yet? The last time I looked into it there were some patches on the mailing list, but nothing committed yet.
2014-06-02 17:45 GMT+02:00 Henri Verbeet hverbeet@gmail.com:
On 30 May 2014 15:25, Ruslan Kabatsayev b7.10110111@gmail.com wrote:
Hmm, this is an interesting point. But, for GLX_MESA_query_renderer, which appeared relatively recently, one can't say it's experimental or cannot return the total memory. Can its use be accepted by Wine? Maybe at some point Nvidia/AMD will implement it too (looks unlikely though), but at least for Mesa-powered drivers it would work.
Yes, we'd like to use GLX_MESA_query_renderer for this. Do you happen to know if it's supported by the r600g driver yet? The last time I looked into it there were some patches on the mailing list, but nothing committed yet.
It's advertised on r600g (REDWOOD, although I doubt it matters), Mesa 10.1.3, I haven't tried to actually use it though.