PDA

View Full Version : Does ATI_meminfo really work?



Aleksandar
10-17-2011, 11:52 AM
Has anybody ever tried ATI_meminfo extension?

All friends of mine that have AMD cards reported that available memory doesn't change according to real allocation. It seems that the extension reports maximal size instead of the current size.

Hongwei Li
10-17-2011, 07:54 PM
I find it is working. The reason it is not working might be most of times, the GPU memory allocation has been deferred for efficiency. For example, the texture memory is not really allocated until the rendering though you explicitly call glTexImage to upload the data. That's why available memory has not change if you query it before the rendering.

It could be very helpful if you give a code snippet where the ATI_meminfo is not working.

Aleksandar
10-18-2011, 04:06 AM
Yes, I know pretty well how drivers execute commands and allocate memory; at least I think I know. ;)

Is the memory allocation a system wide operation? It should be. StateTracker (https://sites.google.com/site/opengltutorialsbyaks/download/state-tracker/StateTracker.zip?attredirects=0&d=1) if started on AMD/ATI based system (Windows only) should print the current memory status of all three pools using ATI_meminfo.

A could provide a full source code for the application (excluding NV part) if necessary.

Also, I wondering on what driver/hardware combination the three presented pools are separated?

Thank you for the support!

Hongwei Li
10-18-2011, 07:36 PM
Yes, the memory allocation is system wide, and as said in the specification, meminfo query should return the system used and available memory (I guess that's what you want). However, I found the driver does not do so. It only returns a bookkeeping value which only counts the memory consumed in this application instance. :-( I will let you know if it can be fixed or there are some other ways to obtain the GPU memory status.

You mean VBO, texture and RBO? These three pools are separated probably for future extension. Now they are referring to the same pool.

Hongwei Li
10-18-2011, 08:29 PM
See if ADL can help you.

You can download it from

http://developer.amd.com/download/pages/default.aspx

sqrt[-1]
10-21-2011, 02:40 AM
I am not sure if this is what you want, but it seems that process explorer has GPU info in it now:
http://www.geeks3d.com/20110719/quick-test-process-explorer-15-0-with-gpu-support/

so if you are on Windows, you can probably use the same API?

Aleksandar
10-21-2011, 06:48 AM
Process Explorer is a utility not an API. I have no idea what is used for the readings. On the other hand, the problem here is in AMD's implementation of memory allocation readings using an OpenGL extension. There is no doubt that it can be read using some other driver's API.

The question is: Should I use "should implement" or "implements" in the article I'm just writing? ;)

sqrt[-1]
10-21-2011, 03:52 PM
I meant that presumably Process explorer uses some API internally - if you can find that out you should get the same info.

Hongwei Li
11-07-2011, 08:50 PM
meminfo should work in XP but not work on win7. We are working on it.

Hongwei Li
11-11-2011, 12:23 AM
we make meminfo working on win7, but due to the driver model of win 7, meminfo can only return the available memory on the card (param 0) and it only works on workstation card.