completed grStippleMode and grStipplePattern

This commit is contained in:
koolsmoky
2007-09-29 13:59:34 +00:00
parent e8d880e66f
commit 9490b841d7
4 changed files with 70 additions and 7 deletions

View File

@@ -19,6 +19,9 @@
**
** $Header$
** $Log$
** Revision 1.1.1.1.8.3 2004/03/08 07:42:21 dborca
** Voodoo Rush fixes
**
** Revision 1.1.1.1.8.2 2003/11/03 13:34:29 dborca
** Voodoo2 happiness (DJGPP & Linux)
**
@@ -529,12 +532,9 @@ GR_DIENTRY(grStipplePattern, void , (GrStipplePattern_t stipple))
GR_BEGIN_NOFIFOCHECK("grStipplePattern\n", 85);
/* [dBorca] TODO
*
INVALIDATE(stipple);
STOREARG(grStipplePattern, stipple);
*/
#undef FN_NAME
} /* grStipplePattern */
@@ -555,12 +555,9 @@ GR_DIENTRY(grStippleMode, void , (GrStippleMode_t mode) )
GR_BEGIN_NOFIFOCHECK("grStippleMode\n", 85);
/* [dBorca] TODO
*
INVALIDATE(fbzMode);
STOREARG(grStippleMode, mode);
*/
#undef FN_NAME
} /* grStippleMode */
@@ -888,6 +885,7 @@ _grValidateState()
_grDepthBufferFunction(LOADARG(grDepthBufferFunction, fnc));
_grDepthBufferMode(LOADARG(grDepthBufferMode, mode));
_grDitherMode(LOADARG(grDitherMode, mode));
_grStippleMode(LOADARG(grStippleMode, mode));
_grRenderBuffer(LOADARG(grRenderBuffer, buffer));
_grColorMask(LOADARG(grColorMask, rgb), LOADARG(grColorMask, alpha));
_grSstOrigin(LOADARG(grSstOrigin, origin));
@@ -896,6 +894,15 @@ _grValidateState()
reg_cnt++;
}
if (NOTVALID(stipple)) {
gc->state.fbi_config.stipple = LOADARG(grStipplePattern, stipple);
REG_GROUP_BEGIN(BROADCAST_ID, stipple, 1, 0x01);
{
REG_GROUP_SET(hw, stipple, gc->state.fbi_config.stipple);
}
REG_GROUP_END();
}
if (NOTVALID(chromaKey)) {
_grChromakeyValue(LOADARG(grChromakeyValue, color));
mask |= 0x1000;

View File

@@ -71,7 +71,7 @@ main (int argc, char **argv)
if (argc > 1) {
if (strcmp("-inline", argv[1]) == 0) {
SstRegs dummyRegs;
SstRegs dummyRegs = { 0x00UL };
printf("#ifndef __FX_INLINE_H__\n");
printf("#define __FX_INLINE_H__\n");

View File

@@ -19,6 +19,9 @@
**
** $Header$
** $Log$
** Revision 1.1.1.1.8.14 2006/01/16 21:22:41 jwrdegoede
** Fix gcc 4.1 new type-punned ptr breaks antialias. warnings
**
** Revision 1.1.1.1.8.13 2005/08/13 21:06:56 jwrdegoede
** Last needed 64 bit fixes for h5/h3, complete 64 bit support for cvg
**
@@ -684,6 +687,7 @@ typedef struct {
#define lfbModeBIT FXBIT(8)
#define c0c1BIT FXBIT(9)
#define chromaRangeBIT FXBIT(10)
#define stippleBIT FXBIT(11)
/*
** lazy evaluate vertexlayout.
** it is not part of the registers so we add the bit in MSB
@@ -943,6 +947,12 @@ typedef struct
struct {
GrDitherMode_t mode;
} grDitherModeArgs;
struct {
GrStippleMode_t mode;
} grStippleModeArgs;
struct {
GrStipplePattern_t stipple;
} grStipplePatternArgs;
struct {
GrBuffer_t buffer;
} grRenderBufferArgs;
@@ -1598,6 +1608,8 @@ _grColorCombine(
/*
** Glide 3 extension APIs
*/
void FX_CALL
grStipplePattern(GrStipplePattern_t stipple);
void FX_CALL
grChromaRangeMode(GrChromaRangeMode_t mode);
@@ -1651,6 +1663,9 @@ _grDepthBufferMode( GrDepthBufferMode_t mode );
void
_grDitherMode( GrDitherMode_t mode );
void
_grStippleMode( GrStippleMode_t mode );
void
_grRenderBuffer( GrBuffer_t buffer );

View File

@@ -19,6 +19,9 @@
**
** $Header$
** $Log$
** Revision 1.1.1.1.8.6 2007/05/19 10:58:19 koolsmoky
** force 4x4 dither with alpha dither subtraction
**
** Revision 1.1.1.1.8.5 2005/06/09 18:32:08 jwrdegoede
** Fixed all warnings with gcc4 -Wall -W -Wno-unused-parameter, except for a couple I believe to be a gcc bug. This has been reported to gcc.
**
@@ -1737,6 +1740,44 @@ GR_ENTRY(grDisableAllEffects, void, (void))
grFogMode(GR_FOG_DISABLE);
} /* grDisableAllEffects */
/*---------------------------------------------------------------------------
** grStippleMode
*/
GR_STATE_ENTRY(grStippleMode, void, (GrStippleMode_t mode))
{
#define FN_NAME "_grStippleMode"
FxU32 fbzMode;
GR_BEGIN_NOFIFOCHECK("_grStippleMode", 85);
GDBG_INFO_MORE(gc->myLevel, "(%d)\n", mode);
fbzMode = gc->state.fbi_config.fbzMode;
fbzMode &= ~(SST_ENSTIPPLE | SST_ENSTIPPLEPATTERN);
switch (mode) {
case GR_STIPPLE_DISABLE:
break;
case GR_STIPPLE_PATTERN:
fbzMode |= (SST_ENSTIPPLE | SST_ENSTIPPLEPATTERN);
break;
case GR_STIPPLE_ROTATE:
fbzMode |= SST_ENSTIPPLE;
break;
}
gc->state.fbi_config.fbzMode = fbzMode;
#if !GLIDE3
GR_SET_EXPECTED_SIZE(sizeof(FxU32), 1);
GR_SET(BROADCAST_ID, hw, fbzMode, fbzMode);
GR_CHECK_SIZE();
#endif /* !GLIDE3 */
#undef FN_NAME
} /* grStippleMode */
/*---------------------------------------------------------------------------
** grDitherMode
*/