[dx88] Cull fix
Jason Edmeades
us at the-edmeades.demon.co.uk
Wed Oct 29 16:10:57 CST 2003
Michael - See if this helps with your map / figure problems...
Changelog
Culling to different viewports failed as clearing the whole viewport
cleared the screen
Jason
-------------- next part --------------
diff -u3 dlls/d3d8/dx87/device.c dlls/d3d8/device.c
--- dlls/d3d8/dx87/device.c 2003-10-28 21:30:08.000000000 +0000
+++ dlls/d3d8/device.c 2003-10-28 22:03:07.000000000 +0000
@@ -1349,6 +1349,8 @@
Count, pRects, Flags, Z, Stencil);
ENTER_GL();
+ glEnable(GL_SCISSOR_TEST);
+ checkGLcall("glEnable GL_SCISSOR_TEST");
if (Count > 0 && pRects) {
glEnable(GL_SCISSOR_TEST);
checkGLcall("glEnable GL_SCISSOR_TEST");
@@ -1397,6 +1399,12 @@
glScissor(curRect->x1, (This->PresentParms.BackBufferHeight - curRect->y2),
curRect->x2 - curRect->x1, curRect->y2 - curRect->y1);
checkGLcall("glScissor");
+ } else {
+ glScissor(This->StateBlock->viewport.X,
+ (This->PresentParms.BackBufferHeight - (This->StateBlock->viewport.Y + This->StateBlock->viewport.Height)),
+ This->StateBlock->viewport.Width,
+ This->StateBlock->viewport.Height);
+ checkGLcall("glScissor");
}
/* Clear the selected rectangle (or full screen) */
More information about the wine-patches
mailing list