GPU memory allocation limit on Directx9/Windows 8
Sounds like internally, The D3D layer is using a 32bit address space to manage GPU memory.
Keep in mind that D3D9 is a legacy technology, which was created way before 64bit address space was common. You'll probably have much more stable results with D3D11
Yes. It is 64bit app.
Any other reason why texture allocation fails even on GPU is still available memory?
Yes. It is 64bit app.
Any other reason why texture allocation fails even on GPU is still available memory?
Because it's run out of address space ?
Because it's ram is fragmented and cannot allocate continious block of say 256MB ?
If you can, try to switch to DX11, if you cant (to much effort in rewriting things) try to create D3D9Ex device (you will still need some changes, but not as drastic as while switching from 9 to 11).
Try to use nvidia tools (nsight, perfhud, nvapi) to see what's going on on driver land (I dont know if any of those tools still can be used with d3d9, if not, try older versions of them, but I'm affraid that they are tied to driver versions)
Thanks MxADD for tips. I'll try this with D3D9Ex device.
The strange in this issue is that on Windows 7 it works ok. But on Win 8, when I allocate texture by D3DXCreateTextureFromFileExW() , I get D3DERR_OUTOFVIDEOMEMORY about 4G.
I have a dumb question. You are running these two operating systems on the same machine right? Is it possible that one OS is running the GPU you intend, while the other is using the built in GPU that comes with the motherboard?
Hi cephalo,
Thanks for tip. But I'm sure both are using Titan. I see it on my diagnosing tools.