On 21/08/06, Jan Zerebecki <jan.wine(a)zerebecki.de> wrote:
(I forgot if I verified this, but) I think that when a state is beeing set This->stateBlock->renderState[State] has the previous value and only Value has the one to be set. From a quick glance it seems the code for this renderstate (and maybe more renderstates) wrongly assumes the contrary. Normally, yes. This->stateBlock is the state currently set, and This->updateStateblock contains the new state. In case we're recording, those are two different stateblocks. However, at the start of SetRenderState:
if (This->isRecordingState) { TRACE("Recording... not performing anything\n"); return WINED3D_OK; } That guarantees that in the code below stateBlock and updateStateblock point to the same stateblock.