wined3d: Dirtify the render targets, not the primary swapchain on draws.
This commit is contained in:
parent
8784d47cba
commit
8cae0e4d07
|
@ -1177,18 +1177,15 @@ void drawPrimitive(IWineD3DDevice *iface,
|
||||||
int minIndex) {
|
int minIndex) {
|
||||||
|
|
||||||
IWineD3DDeviceImpl *This = (IWineD3DDeviceImpl *)iface;
|
IWineD3DDeviceImpl *This = (IWineD3DDeviceImpl *)iface;
|
||||||
IWineD3DSwapChainImpl *swapchain;
|
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
/* Signals other modules that a drawing is in progress and the stateblock finalized */
|
/* Signals other modules that a drawing is in progress and the stateblock finalized */
|
||||||
This->isInDraw = TRUE;
|
This->isInDraw = TRUE;
|
||||||
|
|
||||||
/* Invalidate the back buffer memory so LockRect will read it the next time */
|
/* Invalidate the back buffer memory so LockRect will read it the next time */
|
||||||
for(i = 0; i < IWineD3DDevice_GetNumberOfSwapChains(iface); i++) {
|
for(i = 0; i < GL_LIMITS(buffers); i++) {
|
||||||
IWineD3DDevice_GetSwapChain(iface, i, (IWineD3DSwapChain **) &swapchain);
|
if(This->render_targets[i]) {
|
||||||
if(swapchain) {
|
((IWineD3DSurfaceImpl *) This->render_targets[i])->Flags |= SFLAG_GLDIRTY;
|
||||||
if(swapchain->backBuffer) ((IWineD3DSurfaceImpl *) swapchain->backBuffer[0])->Flags |= SFLAG_GLDIRTY;
|
|
||||||
IWineD3DSwapChain_Release( (IWineD3DSwapChain *) swapchain);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue