grDitherMode(): force 2x2 dithering for 4x1 dither

grBufferSwap(): enable vsync and set swapbufferinterval to 0 for tripple buffering.
This commit is contained in:
koolsmoky
2004-12-12 15:24:40 +00:00
parent c6986acec1
commit ef890f8425

View File

@@ -19,6 +19,9 @@
**
** $Header$
** $Log$
** Revision 1.2 2000/10/03 18:28:33 mercury
** 003-clean_up_cvg-000, cvg tree cleanup.
**
** Revision 1.1.1.1 1999/12/07 21:49:10 joseph
** Initial checkin into SourceForge.
**
@@ -781,6 +784,12 @@ GR_ENTRY(grBufferSwap, void, (int swapInterval))
/* if the interval is non-zero turn on VSYNC waiting */
vSync = (swapInterval > 0);
/* when triple buffering, vsync must be enabled and swapbuffer interval must be 0 */
if (gc->grColBuf >= 3) {
vSync = FXTRUE;
swapInterval = 0;
}
if (swapInterval > 0) swapInterval--;
@@ -1498,21 +1507,21 @@ GR_STATE_ENTRY(grDitherMode, void, (GrDitherMode_t mode))
GDBG_INFO_MORE(gc->myLevel, "(%d)\n", mode);
fbzMode = gc->state.fbi_config.fbzMode;
if (_GlideRoot.environment.disableDitherSub == FXTRUE)
fbzMode &= ~(SST_ENDITHER | SST_DITHER2x2);
else
fbzMode &= ~(SST_ENDITHER | SST_DITHER2x2 | SST_ENDITHERSUBTRACT);
fbzMode &= ~(SST_ENDITHER | SST_DITHER2x2 | SST_ENDITHERSUBTRACT);
switch (mode) {
case GR_DITHER_DISABLE:
break;
case GR_DITHER_2x2:
fbzMode |= (SST_ENDITHER | SST_DITHER2x2);
/* alpha dither subtract should be disabled */
break;
case GR_DITHER_2x2:
case GR_DITHER_4x4:
fbzMode |= (SST_ENDITHER | SST_ENDITHERSUBTRACT);
/* always force 2x2 dither because it looks better */
fbzMode |= (SST_ENDITHER | SST_DITHER2x2 | SST_ENDITHERSUBTRACT);
/* disable alpha blending dither subtraction according to user request */
if (_GlideRoot.environment.disableDitherSub == FXTRUE)
fbzMode &= ~(SST_ENDITHERSUBTRACT);
break;
}
@@ -1704,7 +1713,7 @@ GR_ENTRY(grGlideShutdown, void, (void))
*/
for(i = 0; i < _GlideRoot.hwConfig.num_sst; i++) {
if (_GlideRoot.GCs[i].hwInitP) {
if (_GlideRoot.CPUType >= 6) {
if (_GlideRoot.CPUType.family >= 6) {
sst1InitCaching(_GlideRoot.GCs[i].base_ptr, FXFALSE);
}
sst1InitShutdown(_GlideRoot.GCs[i].base_ptr);