DS GX: Basic cleanup

This commit is contained in:
Vicki Pfau 2021-12-25 03:04:53 -08:00
parent 4beb293ac1
commit 5efbf8dc66
2 changed files with 5 additions and 7 deletions

View File

@ -115,13 +115,12 @@ static struct DSGXRenderer dummyRenderer = {
};
static void _pullPipe(struct DSGX* gx) {
struct DSGXEntry entry;
if (CircleBufferSize(&gx->fifo) >= sizeof(struct DSGXEntry)) {
struct DSGXEntry entry = { 0 };
CircleBufferRead(&gx->fifo, &entry, sizeof(entry));
CircleBufferWrite(&gx->pipe, &entry, sizeof(entry));
}
if (CircleBufferSize(&gx->fifo) >= sizeof(struct DSGXEntry)) {
struct DSGXEntry entry = { 0 };
CircleBufferRead(&gx->fifo, &entry, sizeof(entry));
CircleBufferWrite(&gx->pipe, &entry, sizeof(entry));
}
@ -1290,7 +1289,6 @@ static void _fifoRun(struct mTiming* timing, void* context, uint32_t cyclesLate)
_flushOutstanding(gx);
}
DSGXUpdateGXSTAT(gx);
_updateDMA(gx);
}
void DSGXInit(struct DSGX* gx) {

View File

@ -774,17 +774,17 @@ static void DSGXSoftwareRendererDrawScanline(struct DSGXRenderer* renderer, int
return;
}
struct DSGXSoftwareSpan span;
size_t p;
for (p = 0; p < DSGXSoftwarePolygonListSize(&softwareRenderer->activePolys); ++p) {
struct DSGXSoftwarePolygon* poly = DSGXSoftwarePolygonListGetPointer(&softwareRenderer->activePolys, p);
DSGXSoftwareEdgeListClear(&softwareRenderer->activeEdges);
_preparePoly(renderer, softwareRenderer->verts, poly);
span.poly = poly;
span.polyId = DSGXPolygonAttrsGetId(poly->polyParams);
int y;
for (y = poly->minY; y <= poly->maxY; ++y) {
struct DSGXSoftwareSpan span = {
.poly = poly,
.polyId = DSGXPolygonAttrsGetId(poly->polyParams),
};
span.ep[0].coord[3] = 0;
size_t i;
for (i = 0; i < DSGXSoftwareEdgeListSize(&softwareRenderer->activeEdges); ++i) {
struct DSGXSoftwareEdge* edge = DSGXSoftwareEdgeListGetPointer(&softwareRenderer->activeEdges, i);