Texture memory management

Hi, I was wondering if there is a way to specify how a texture is stored in memory. For instance, I have one that I want stored in system memory only and doesnt get cached on the video card. Is this possible?

I guess something equivilant to D3DPOOL_SYSTEMMEM in DX.

Also, what is the general texture caching strategy in Panda?

thanks :slight_smile:

Presently, no, there’s no way to specify that. For the most part, Panda relies on OpenGL/DirectX’s native texture caching strategy.

In OpenGL, you have almost no control over texture caching. OpenGL insists on taking it out of your hands, and provides very little direct control. Every texture is managed with something like DirectX’s D3DPOOL_MANAGED.

In DirectX8, we use D3DPOOL_MANAGED for every texture, so you get a similar behavior.

In DirectX9, we have recently started experimenting with using D3DPOOL_DEFAULT and doing the texture management in Panda (mainly because we observed some significant performance hits on certain drivers with D3DPOOL_MANAGED in DirectX9). There are some parameters you can adjust to tweak this management overall, but I don’t think we have any per-texture controls.