Hi
You are using the hardcoded method to get the vidmem
now (in function IWineD3DImpl_FillGLCaps), first you call glGetString(GL_RENDERER)
to get the GPU renderer string, and then you use this string to set the vidmem
in your code. Unfortunately you don’t get all of the ATI GPU’s
string now, for our workstation GPU, the string is always like “ATI
FireGL V8700”, so you don’t recognize this GPU and consider it as ATI_RADEON_9500,
then 64MB is set which doesn’t support 1280x1024 resolution (Out of
adapter memory).
I think you can first detect GL_ATI_meminfo in
glGetString(GL_EXTENSIONS); if GL_ATI_meminfo exists, then you can use glGetIntegerv(GL_VBO_FREE_MEMORY_ATI,
param) to get the current free video memory, you can see more info at:
http://www.opengl.org/registry/specs/ATI/meminfo.txt
if GL_ATI_meminfo doesn’t exist, you can fall
back to the original method.
Please tell me if you have any questions.
Regards,
Sunny, Sun