On Monday 06 February 2006 09:37, H. Verbeet wrote:
There does exist a D3DDEVCAPS_TEXTURESYSTEMMEMORY property. http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/dx81_c/dir ectx_cpp/Graphics/reference/CPP/D3D/Structures/d3dcaps8.asp However, I don't think wine sets it. I wonder if perhaps SetTexture should return a specific error code if a video card doesn't support that. Ie, perhaps 3DMark01 just attempts to use D3DPOOL_SYSTEMMEM textures, and falls back to something else if it fails to set them. That's just a guess of course.
The problem was indeed related to device caps. Wine didn't set any caps. It didn't even set the capability that the card has video memory. Because of that the application tried to use system memory as video memory which is allowed when D3DDEVCAPS_TEXTURESYSTEMMEMORY is set. I have added some caps and also some checks to SetTexture to fix the problems.
Roderick