nine: Some random patches
This is a set of mostly unrelated patches for gallium nine. Basically small fixes and improvements.
Each commit messages gives a detailed summary of their change, but here is a shortened version:
. st/nine: Reduce system memory allocated by D3DUSAGE_AUTOGENMIPMAP
A small memory footprint reduction and improved code clarity (fewer special handling of D3DUSAGE_AUTOGENMIPMAP)
. st/nine: Do not allow depth buffer render targets
Title is self-explanatory.
. st/nine: Clamp GetAvailableTextureMem
Hopefully should help configurations with more than 4GB of vram.
. st/nine: Unmap buffers after full unlock
Strangely no reported bug related to this. Found the behaviour was incorrect when investigating an apitrace crash.
. st/nine: Track formats compatible with FETCH4
. st/nine: Implement experimental FETCH4
. st/nine: Enable DF24 support
Implement basic FETCH4 support to enable to advertise DF24 format. The FETCH4 support can be improved but besides some demos (which work fine with the implementation), I didn't find any FETCH4 use.
. st/nine: Add new debug and error checks
Some minor debug info and error checks
. st/nine: Refactor ht_guid_delete
Fixes an use-after-release
. st/nine: Protect *PrivateData also for Volumes
Incorrect behaviour found checking all our d3d lock protected functions. Most unlikely to have caused any issues in games.
. st/nine: Fix leak at device destruction
The final item release was incorrect, probably to workaround a bug fixed since.
. driconf: Rename csmt_int back to csmt_force
The option was incorrectly renamed. No wonder it didn't work anymore.
. st/nine: Simplify checks for driconf options
It seems the checks were redundant.
The interesting set of patches (solving "out of memory" errors of some 32 bit apps by storing ram textures in memfd) will come in a later merge request.