h3,h5, gdraw.c: minor typo/whitespace fixes and some syncing.

This commit is contained in:
sezero
2018-08-10 20:45:20 +03:00
parent 797d81af4a
commit 93dcdb9390
2 changed files with 81 additions and 86 deletions

View File

@@ -290,28 +290,27 @@ GR_ENTRY(grDrawTriangle, void, (const void *a, const void *b, const void *c))
{
GR_BEGIN_NOFIFOCHECK("grDrawTriangle",92);
GDBG_INFO_MORE(gc->myLevel,"(0x%x,0x%x,0x%x)\n",a,b,c);
TRISETUP(a, b, c );
#if GLIDE_DEBUG
#if GLIDE_DEBUG
/* HackAlert: Nuke the fifo ptr checking stuff here if we're just
* debugging teh asm tri code.
*/
* debugging the asm tri code.
*/
gc->checkPtr = (FxU32)gc->cmdTransportInfo.fifoPtr;
gc->checkCounter = 0;
#endif /* GLIDE_DEBUG */
#endif /* GLIDE_DEBUG */
GR_END();
}
#elif defined(__MSC__)
{
_asm {
mov eax, DWORD PTR fs:[WNT_TEB_PTR] ;
__asm {
mov eax, DWORD PTR fs:[WNT_TEB_PTR];
add eax, DWORD PTR _GlideRoot.tlsOffset;
mov edx, [eax];
test edx, edx;
je lostContext;
mov eax, [edx + kLostContextOffset];
test eax, eax
test eax, eax;
je lostContext;
mov eax, [eax];
test eax, 1;
@@ -321,12 +320,14 @@ GR_ENTRY(grDrawTriangle, void, (const void *a, const void *b, const void *c))
}
lostContext: ; /* <-- my, that's odd, but MSVC was insistent */
}
#elif defined( __linux__ ) || defined(__FreeBSD__) || (GLIDE_PLATFORM & GLIDE_OS_DOS32)
{
GR_BEGIN_NOFIFOCHECK("grDrawTriangle",92);
TRISETUP(a, b, c);
GR_END();
}
#else
#error "Write triangle proc dispatch for this compiler"
#endif /* Triangle proc dispatch routine */
@@ -443,14 +444,14 @@ _grDrawPoints(FxI32 mode, FxI32 count, void *pointers)
{
FxU32 x, y;
FxU32 dataElem;
DA_CONT(kSetupStrip | kSetupCullDisable, 0x00,
0x02, sizeof(FxU32) << 1, SSTCP_PKT3_BDDDDD);
/* Convert to 32-bit representation */
gc->pool.temp1.f = FARRAY(vPtr, gc->state.vData.vertexInfo.offset) + bias;
gc->pool.temp2.f = FARRAY(vPtr, gc->state.vData.vertexInfo.offset + 4) + bias;
/* draw a little triangle, with the lower left corner at pixel center. */
/* The approach here is to split the triangle into two packets, one
@@ -468,8 +469,8 @@ _grDrawPoints(FxI32 mode, FxI32 count, void *pointers)
(0x01UL << (22UL - kNumMantissaBits)));
y = ((gc->pool.temp2.u & (0xFFFFFFFFUL << (22UL - kNumMantissaBits))) +
(0x01UL << (22UL - kNumMantissaBits)));
/* Lower right corner */
/* Lower right corner */
DA_SET(x);
DA_SET(y);
@@ -481,11 +482,11 @@ _grDrawPoints(FxI32 mode, FxI32 count, void *pointers)
/* Upper Left corner */
x -= (0x01UL << (21UL - kNumMantissaBits));
/* Packet w/ actual point coordinate and parameter data */
DA_CONT(kSetupStrip | kSetupCullDisable, gc->cmdTransportInfo.paramMask,
1, gc->state.vData.vSize, SSTCP_PKT3_DDDDDD);
i = gc->tsuDataList[dataElem];
DA_SET(x);
DA_SET(y);
@@ -499,16 +500,15 @@ _grDrawPoints(FxI32 mode, FxI32 count, void *pointers)
DA_END;
GR_CHECK_SIZE();
/* end points routine */
count -= POINTS_BUFFER;
}
} else {
/*
* first cut of clip space coordinate code.
*/
float oow;
while (count > 0) {
float *vPtr;
FxI32 k;
@@ -517,15 +517,15 @@ _grDrawPoints(FxI32 mode, FxI32 count, void *pointers)
/* begin points routine */
DA_BEGIN;
for (k = 0; k < vcount; k++) {
vPtr = pointers;
if (mode)
vPtr = *(float **)vPtr;
oow = 1.0f / FARRAY(vPtr, gc->state.vData.wInfo.offset);
oow = 1.0f / FARRAY(vPtr, gc->state.vData.wInfo.offset);
pointers = (float *)pointers + stride;
{
FxU32 x, y;
@@ -549,7 +549,7 @@ _grDrawPoints(FxI32 mode, FxI32 count, void *pointers)
(0x01UL << (22UL - kNumMantissaBits)));
y = ((gc->pool.temp2.u & (0xFFFFFFFFUL << (22UL - kNumMantissaBits))) +
(0x01UL << (22UL - kNumMantissaBits)));
/* Lower right cornder */
DA_SET(x);
DA_SET(y);
@@ -561,11 +561,11 @@ _grDrawPoints(FxI32 mode, FxI32 count, void *pointers)
/* Upper Left corner */
x -= (0x01UL << (21UL - kNumMantissaBits));
/* Packet w/ actual point coordinate and parameter data */
DA_CONT(kSetupStrip | kSetupCullDisable, gc->cmdTransportInfo.paramMask,
1, gc->state.vData.vSize, SSTCP_PKT3_DDDDDD);
DA_SET(x);
DA_SET(y);
DA_VP_SETFS(vPtr, oow);
@@ -574,7 +574,7 @@ _grDrawPoints(FxI32 mode, FxI32 count, void *pointers)
DA_END;
GR_CHECK_SIZE();
/* end points routine */
count -= POINTS_BUFFER;
}
}
@@ -793,7 +793,7 @@ _grDrawLineStrip(FxI32 mode, FxI32 ltype, FxI32 count, void *pointers)
if (mode) {
a = *(float **)a;
}
oowb = 1.0f / FARRAY(a, gc->state.vData.wInfo.offset);
oowb = 1.0f / FARRAY(a, gc->state.vData.wInfo.offset);
}
for (k = 0; k < vcount; k++) {
a = (float *)pointers;
@@ -804,7 +804,7 @@ _grDrawLineStrip(FxI32 mode, FxI32 ltype, FxI32 count, void *pointers)
}
pointers = (float *)pointers + stride;
if (ltype == GR_LINES) {
owa = oowa = 1.0f / FARRAY(a, gc->state.vData.wInfo.offset);
owa = oowa = 1.0f / FARRAY(a, gc->state.vData.wInfo.offset);
pointers = (float *)pointers + stride;
}
else
@@ -814,14 +814,14 @@ _grDrawLineStrip(FxI32 mode, FxI32 ltype, FxI32 count, void *pointers)
fay = tmp1 = FARRAY(a, gc->state.vData.vertexInfo.offset+4)
*oowa*gc->state.Viewport.hheight+gc->state.Viewport.oy;
fby = tmp2 = FARRAY(b, gc->state.vData.vertexInfo.offset+4)
*oowb*gc->state.Viewport.hheight+gc->state.Viewport.oy;
*oowb*gc->state.Viewport.hheight+gc->state.Viewport.oy;
/*
** compute absolute deltas and draw from low Y to high Y
*/
ADY.f = tmp2 - tmp1;
if (ADY.i < 0) {
float *tv;
float *tv;
owa = oowb; owb = oowa;
fay = tmp2;
fby = tmp1;
@@ -834,14 +834,14 @@ _grDrawLineStrip(FxI32 mode, FxI32 ltype, FxI32 count, void *pointers)
*owb*gc->state.Viewport.hwidth+gc->state.Viewport.ox;
DX.f = fbx - fax;
DX.i &= 0x7fffffff; /* abs(adx) */
DX.i &= 0x7fffffff; /* abs(adx) */
/* check for zero-length lines */
if ((DX.i >= ADY.i) && (DX.i == 0)) goto all_done_vp;
DA_CONT(kSetupCullDisable | kSetupStrip, gc->cmdTransportInfo.paramMask,
0x04UL, vertexParamOffset, SSTCP_PKT3_BDDDDD);
{
{
/* x major */
if (DX.i >= ADY.i) {
DA_SETF(fbx);
@@ -1001,8 +1001,6 @@ _grDrawTriangles_Default(FxI32 mode, FxI32 count, void *pointers)
count -= 15;
}
}
#undef FN_NAME
} /* _grDrawTriangles */

View File

@@ -275,17 +275,17 @@ GR_ENTRY(grDrawPoint, void, (const void *p))
GR_ENTRY(grDrawLine, void, (const void *a, const void *b))
{
#define FN_NAME "grDrawLine"
void *verts[2]; /**** FIXME: this needs to be const! ****/
void *vertices[2]; /**** FIXME: this needs to be const! ****/
GR_BEGIN_NOFIFOCHECK(FN_NAME, 91);
GDBG_INFO_MORE(gc->myLevel, "(a = 0x%x, b = 0x%x)\n", a, b);
verts[0] = (void *)a; verts[1] = (void *)b; /** FIXME **/
vertices[0] = (void *)a; vertices[1] = (void *)b; /* FIXME! */
if (gc->state.grEnableArgs.primitive_smooth_mode & GR_AA_ORDERED_LINES_MASK)
_grAADrawLineStrip(GR_VTX_PTR_ARRAY, GR_LINES, 2, verts);
_grAADrawLineStrip(GR_VTX_PTR_ARRAY, GR_LINES, 2, vertices);
else
_grDrawLineStrip(GR_VTX_PTR_ARRAY, GR_LINES, 2, verts);
_grDrawLineStrip(GR_VTX_PTR_ARRAY, GR_LINES, 2, vertices);
#undef FN_NAME
} /* grDrawLine */
@@ -315,19 +315,18 @@ GR_ENTRY(grDrawTriangle, void, (const void *a, const void *b, const void *c))
GR_BEGIN_NOFIFOCHECK_NORET("grDrawTriangle",92);
#endif /* GLIDE_DEBUG */
GDBG_INFO_MORE(gc->myLevel,"(0x%x,0x%x,0x%x)\n",a,b,c);
TRISETUP(a, b, c );
#if GLIDE_DEBUG
#if GLIDE_DEBUG
/* HackAlert: Nuke the fifo ptr checking stuff here if we're just
* debugging the asm tri code.
*/
*/
gc->checkPtr = (FxU32)gc->cmdTransportInfo.fifoPtr;
gc->checkCounter = 0;
#else /* GLIDE_DEBUG */
GR_END();
#endif /* GLIDE_DEBUG */
}
#elif defined(__MSC__)
{
#if USE_STANDARD_TLS_FUNC
@@ -365,13 +364,14 @@ GR_ENTRY(grDrawTriangle, void, (const void *a, const void *b, const void *c))
#endif
lostContext: ; /* <-- my, that's odd, but MSVC was insistent */
}
#elif (GLIDE_PLATFORM & GLIDE_OS_UNIX) || (GLIDE_PLATFORM & GLIDE_OS_DOS32)
{
GR_BEGIN_NOFIFOCHECK("grDrawTriangle",92);
TRISETUP(a, b, c);
GR_END();
}
#else /* (GLIDE_PLATFORM & GLIDE_OS_UNIX) || (GLIDE_PLATFORM & GLIDE_OS_DOS32) */
#error "Write triangle proc dispatch for this compiler"
#endif /* Triangle proc dispatch routine */
@@ -379,6 +379,7 @@ GR_ENTRY(grDrawTriangle, void, (const void *a, const void *b, const void *c))
} /* grDrawTriangle */
#endif
#define DA_BEGIN \
{ \
FxU32* packetPtr = gc->cmdTransportInfo.fifoPtr; \
@@ -444,7 +445,6 @@ _grDrawPoints(FxI32 mode, FxI32 count, void *pointers)
* to compute a logical 1 value to fill an entire pixel.
*/
#define kNumMantissaBits 12UL
GR_BEGIN_NOFIFOCHECK(FN_NAME, 90);
@@ -491,14 +491,14 @@ _grDrawPoints(FxI32 mode, FxI32 count, void *pointers)
FxU32 x, y;
FxU32 dataElem;
const float bias = (const float)(3UL << kNumMantissaBits);
DA_CONT(kSetupStrip | kSetupCullDisable, 0x00,
0x02, sizeof(FxU32) << 1, SSTCP_PKT3_BDDDDD);
/* Convert to 32-bit representation */
gc->pool.temp1.f = FARRAY(vPtr, gc->state.vData.vertexInfo.offset) + bias;
gc->pool.temp2.f = FARRAY(vPtr, gc->state.vData.vertexInfo.offset + 4) + bias;
/* draw a little triangle, with the lower left corner at pixel center. */
/* The approach here is to split the triangle into two packets, one
@@ -510,7 +510,7 @@ _grDrawPoints(FxI32 mode, FxI32 count, void *pointers)
* triangle from the first packet sent.
*/
/* Mask off the real fractional bits from the mantissa */
/* Mask off the real fractional bits from the mantissa */
x = ((gc->pool.temp1.u & (0xFFFFFFFFUL << (22UL - kNumMantissaBits))) +
(0x01UL << (22UL - kNumMantissaBits)));
y = ((gc->pool.temp2.u & (0xFFFFFFFFUL << (22UL - kNumMantissaBits))) +
@@ -522,17 +522,16 @@ _grDrawPoints(FxI32 mode, FxI32 count, void *pointers)
/* Upper right corner */
y -= (0x01UL << (21UL - kNumMantissaBits));
DA_SET(x);
dataElem = 0;
DA_SET(y);
/* Upper Left corner */
x -= (0x01UL << (21UL - kNumMantissaBits));
/* Packet w/ actual point coordinate and parameter data */
DA_CONT(kSetupStrip | kSetupCullDisable, gc->cmdTransportInfo.paramMask,
1, gc->state.vData.vSize, SSTCP_PKT3_DDDDDD);
1, gc->state.vData.vSize, SSTCP_PKT3_DDDDDD);
i = gc->tsuDataList[dataElem];
DA_SET(x);
@@ -547,7 +546,7 @@ _grDrawPoints(FxI32 mode, FxI32 count, void *pointers)
DA_END;
GR_CHECK_SIZE();
/* end points routine */
count -= POINTS_BUFFER;
}
#else
@@ -560,24 +559,24 @@ _grDrawPoints(FxI32 mode, FxI32 count, void *pointers)
/* begin points routine */
DA_BEGIN;
for (k = 0; k < vcount; k++) {
vPtr = pointers;
if (mode) vPtr = *(float **)vPtr;
pointers = (float *)pointers + stride;
GDBG_INFO_MORE(gc->myLevel, "(%f %f)\n",
FARRAY(vPtr,gc->state.vData.vertexInfo.offset),
FARRAY(vPtr,gc->state.vData.vertexInfo.offset + 4));
{
volatile float x, y;
FxU32 dataElem;
DA_CONT(kSetupStrip | kSetupCullDisable, gc->cmdTransportInfo.paramMask,
4, -1/*NOT USED*//*gc->state.vData.vSize * 3*/, SSTCP_PKT3_BDDDDD);
x = FARRAY(vPtr, gc->state.vData.vertexInfo.offset) + 0.5f;
y = FARRAY(vPtr, gc->state.vData.vertexInfo.offset + 4) + 0.5f;
@@ -590,8 +589,8 @@ _grDrawPoints(FxI32 mode, FxI32 count, void *pointers)
/* Correct the bias to get rid of the fractional bits */
x = /*(volatile float)*/gc->pool.temp1.f - lbias;
y = /*(volatile float)*/gc->pool.temp2.f - lbias;
y = /*(volatile float)*/gc->pool.temp2.f - lbias;
/* Lower right corner */
DA_SETF(x);
DA_SETF(y);
@@ -608,8 +607,8 @@ _grDrawPoints(FxI32 mode, FxI32 count, void *pointers)
i = gc->tsuDataList[dataElem];
}
/* Upper right corner */
y -= 1.0f;
/* Upper right corner */
y -= 1.0f;
DA_SETF(x);
DA_SETF(y);
dataElem = 0;
@@ -633,7 +632,7 @@ _grDrawPoints(FxI32 mode, FxI32 count, void *pointers)
i = gc->tsuDataList[dataElem];
}
/* Upper leftcorner */
/* Upper leftcorner */
y += 1.0f;
DA_SETF(x);
DA_SETF(y);
@@ -649,7 +648,7 @@ _grDrawPoints(FxI32 mode, FxI32 count, void *pointers)
DA_END;
GR_CHECK_SIZE();
/* end points routine */
count -= POINTS_BUFFER;
}
#endif
@@ -657,9 +656,8 @@ _grDrawPoints(FxI32 mode, FxI32 count, void *pointers)
/*
* first cut of clip space coordinate code.
*/
float oow;
while (count > 0) {
float lbias = (float)( 3 << 22);
float *vPtr;
@@ -669,16 +667,16 @@ _grDrawPoints(FxI32 mode, FxI32 count, void *pointers)
/* begin points routine */
DA_BEGIN;
for (k = 0; k < vcount; k++) {
vPtr = pointers;
if (mode)
vPtr = *(float **)vPtr;
oow = 1.0f / FARRAY(vPtr, gc->state.vData.wInfo.offset);
oow = 1.0f / FARRAY(vPtr, gc->state.vData.wInfo.offset);
pointers = (float *)pointers + stride;
{
{
float fx, fy;
DA_CONT(kSetupStrip | kSetupCullDisable, 0x00,
@@ -689,7 +687,7 @@ _grDrawPoints(FxI32 mode, FxI32 count, void *pointers)
gc->pool.temp1.f = (FARRAY(vPtr, gc->state.vData.vertexInfo.offset) *
oow *
gc->state.Viewport.hwidth +
gc->state.Viewport.ox +
gc->state.Viewport.ox +
0.5f);
gc->pool.temp2.f = (FARRAY(vPtr, gc->state.vData.vertexInfo.offset + 4) *
oow *
@@ -705,17 +703,17 @@ _grDrawPoints(FxI32 mode, FxI32 count, void *pointers)
fx = gc->pool.temp1.f - lbias;
fy = gc->pool.temp2.f - lbias;
/* Lower right corner */
DA_SETF(fx);
DA_SETF(fy);
/* Upper right corner. */
/* Upper right corner. */
fy -= 1.0f;
DA_SETF(fx);
DA_SETF(fy);
/* Lower left corner */
/* Lower left corner */
fy += 1.0f;
fx -= 1.0f;
DA_SETF(fx);
@@ -725,8 +723,7 @@ _grDrawPoints(FxI32 mode, FxI32 count, void *pointers)
DA_CONT(kSetupStrip | kSetupCullDisable, gc->cmdTransportInfo.paramMask,
1, gc->state.vData.vSize, SSTCP_PKT3_DDDDDD);
/*Upper left corner */
/*Upper left corner */
fy -= 1.0f;
DA_SETF(fx);
DA_SETF(fy);
@@ -737,7 +734,7 @@ _grDrawPoints(FxI32 mode, FxI32 count, void *pointers)
DA_END;
GR_CHECK_SIZE();
/* end points routine */
count -= POINTS_BUFFER;
}
}
@@ -957,7 +954,7 @@ _grDrawLineStrip(FxI32 mode, FxI32 ltype, FxI32 count, void *pointers)
if (mode) {
a = *(float **)a;
}
oowb = 1.0f / FARRAY(a, gc->state.vData.wInfo.offset);
oowb = 1.0f / FARRAY(a, gc->state.vData.wInfo.offset);
}
for (k = 0; k < vcount; k++) {
a = (float *)pointers;
@@ -968,7 +965,7 @@ _grDrawLineStrip(FxI32 mode, FxI32 ltype, FxI32 count, void *pointers)
}
pointers = (float *)pointers + stride;
if (ltype == GR_LINES) {
owa = oowa = 1.0f / FARRAY(a, gc->state.vData.wInfo.offset);
owa = oowa = 1.0f / FARRAY(a, gc->state.vData.wInfo.offset);
pointers = (float *)pointers + stride;
}
else
@@ -978,14 +975,14 @@ _grDrawLineStrip(FxI32 mode, FxI32 ltype, FxI32 count, void *pointers)
fay = tmp1 = FARRAY(a, gc->state.vData.vertexInfo.offset+4)
*oowa*gc->state.Viewport.hheight+gc->state.Viewport.oy;
fby = tmp2 = FARRAY(b, gc->state.vData.vertexInfo.offset+4)
*oowb*gc->state.Viewport.hheight+gc->state.Viewport.oy;
*oowb*gc->state.Viewport.hheight+gc->state.Viewport.oy;
/*
** compute absolute deltas and draw from low Y to high Y
*/
ADY.f = tmp2 - tmp1;
if (ADY.i < 0) {
float *tv;
float *tv;
owa = oowb; owb = oowa;
fay = tmp2;
fby = tmp1;
@@ -998,14 +995,14 @@ _grDrawLineStrip(FxI32 mode, FxI32 ltype, FxI32 count, void *pointers)
*owb*gc->state.Viewport.hwidth+gc->state.Viewport.ox;
DX.f = fbx - fax;
DX.i &= 0x7fffffff; /* abs(adx) */
DX.i &= 0x7fffffff; /* abs(adx) */
/* check for zero-length lines */
if ((DX.i >= ADY.i) && (DX.i == 0)) goto all_done_vp;
DA_CONT(kSetupCullDisable | kSetupStrip, gc->cmdTransportInfo.paramMask,
0x04UL, vertexParamOffset, SSTCP_PKT3_BDDDDD);
{
{
/* x major */
if (DX.i >= ADY.i) {
DA_SETF(fbx);
@@ -1164,7 +1161,7 @@ _grDrawTriangles_Default(FxI32 mode, FxI32 count, void *pointers)
count -= 15;
}
}
#endif
#undef FN_NAME
} /* _grDrawTriangles */