- protect viewport setting with GL lock
- no need anymore to flush to FB on execute buffer calling
This commit is contained in:
parent
f87c54f14f
commit
241d306221
|
@ -2232,11 +2232,15 @@ GL_IDirect3DDeviceImpl_7_SetViewport(LPDIRECT3DDEVICE7 iface,
|
|||
}
|
||||
This->active_viewport = *lpData;
|
||||
|
||||
ENTER_GL();
|
||||
|
||||
/* Set the viewport */
|
||||
glDepthRange(lpData->dvMinZ, lpData->dvMaxZ);
|
||||
glViewport(lpData->dwX,
|
||||
This->surface->surface_desc.dwHeight - (lpData->dwHeight + lpData->dwY),
|
||||
lpData->dwWidth, lpData->dwHeight);
|
||||
|
||||
LEAVE_GL();
|
||||
|
||||
return DD_OK;
|
||||
}
|
||||
|
|
|
@ -74,11 +74,6 @@ static void execute(IDirect3DExecuteBufferImpl *This,
|
|||
if (TRACE_ON(ddraw))
|
||||
_dump_executedata(&(This->data));
|
||||
|
||||
if (((IDirect3DDeviceGLImpl *) lpDevice)->state == SURFACE_MEMORY_DIRTY) {
|
||||
lpDevice->flush_to_framebuffer(lpDevice, NULL, ((IDirect3DDeviceGLImpl *) lpDevice)->lock_surf);
|
||||
}
|
||||
((IDirect3DDeviceGLImpl *) lpDevice)->state = SURFACE_GL;
|
||||
|
||||
while (1) {
|
||||
LPD3DINSTRUCTION current = (LPD3DINSTRUCTION) instr;
|
||||
BYTE size;
|
||||
|
|
Loading…
Reference in New Issue