Didn't we get rid of that not that long ago? It's probably not terrible, but it seems slightly nicer to me to call wined3d_stateblock_invalidate_texture_lod() (that's the main purpose of this, right?) from ddraw/d3d8/d3d9.
I don't feel strongly about it, but this is easier and doesn't require adding a new export, and I feel like sharing common logic in wined3d is an improvement?
The main issue I have with it is that we decided a while ago to kick stateblocks out of core wined3d and effectively make them a helper module in order to simplify core wined3d. Indeed, this MR as a whole is itself a change along those lines, getting rid of separate sampler states. Putting a stateblock pointer in the device seems like a change in the opposite direction. I could certainly live with it, but it doesn't seem too hard to avoid either.