glide2x,sst96: merged dborca commit 2506470 (Rush: fixed grLfbLock(AUXBUFFER))

This commit is contained in:
sezero
2018-08-20 14:00:02 +03:00
parent a5352b0145
commit 103dec9ab9
2 changed files with 19 additions and 2 deletions

View File

@@ -16,6 +16,9 @@
** THE UNITED STATES.
**
** COPYRIGHT 3DFX INTERACTIVE, INC. 1999, ALL RIGHTS RESERVED
**
** 35 11/03/98 11:13a Peter
** release exclusive mode in the fullscreen case of restoreVideo
*
* 34 1/12/98 10:22p Dow
* H3D Stereo Support
@@ -732,6 +735,15 @@ dxClose(void)
* to only create lpDD1 once per application execution. /PGJ
*/
#if 1
/* If we're fullscreen then we need to release exclusive mode access
* to the hw otherwise re-opens won't work. DD seems to take care of
* this if the app just quits, but nuking the surfaces does not seem
* to be sufficient in the normal case.
*/
if (IsFullScreen) {
IDirectDraw2_SetCooperativeLevel(lpDD, hWndApp, DDSCL_NORMAL );
}
// Release any allocated buffers
if( lpClipper) IDirectDrawSurface2_Release( lpClipper);
if( lpFront ) IDirectDrawSurface2_Release( lpFront );

View File

@@ -1638,7 +1638,7 @@ INITVG96ENTRY(init96Idle, void , (Init96WriteMethod *wcb) )
Return:
void opinter to buffer
-------------------------------------------------------------------*/
#define LFB_OFFSET( X ) ( X & 0x3fffff )
#define LFB_OFFSET( X ) ( X & 0x3fffff ) /* was 0x1fffff */
INITVG96ENTRY(init96GetBufferPtr, void*, (InitBuffer_t buffer, int *strideBytes))
{
@@ -1665,7 +1665,12 @@ INITVG96ENTRY(init96GetBufferPtr, void*, (InitBuffer_t buffer, int *strideBytes)
break;
case INIT_BUFFER_AUXBUFFER:
rv = (void*)(((char*)sstHW) + LFB_OFFSET(ab0));
rv = (void*)(((char*)sstHW) + LFB_OFFSET(ab0Base));
/* [dBorca]
* used to be ab0, but I changed it to ab0Base.
* VG96STRIDE(ab0Stride) doesn't really matter,
* because we stripped off the high bits anyway!
*/
*strideBytes = ab0Stride;
GDBG_INFO((80, " get aux buffer pointer" ));
break;