WineD3D State management - going live(TM)

Stefan Dösinger stefandoesinger at
Fri Oct 20 03:52:49 CDT 2006

> > and dlls/wined3d/wined3d_private.h
> > #define MAX_SAMPLERS      16
> That's the maximum d3d9 supports, not necessarily what the hardware
> can do. Unsupported samplers would be wasted. Worse, d3d10 will
> support a lot more than 16 samplers.
Right, we would waste 13*8 = 104 bytes per unsupported sampler. How much 
samplers does d3d10 support?

If we use run-time dynamic values for the state table then we loose the 
ability to access a state with its state number, and we loose the ability to 
set up a constant table in the code. We'd have to allocate it at device 
creation, fill it there and keep a table per device. I prefer to waste 10 or 
20 kb for unsupported textures and samplers for the ability to access the 
table with the state number as index and to have it declared constant. If the 
memory is needed the operating system can just kick it from the memory in 
this case, otherwise it has to be paged out.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url :

More information about the wine-devel mailing list