Tear out counter-productive optimization

This commit is contained in:
Jeffrey Pfau 2013-10-24 00:21:59 -07:00
parent 4b9e9f84be
commit 6eafbc6331
2 changed files with 7 additions and 26 deletions

View File

@ -63,7 +63,6 @@ static void GBAVideoSoftwareRendererInit(struct GBAVideoRenderer* renderer) {
softwareRenderer->blendEffect = BLEND_NONE;
memset(softwareRenderer->normalPalette, 0, sizeof(softwareRenderer->normalPalette));
memset(softwareRenderer->variantPalette, 0, sizeof(softwareRenderer->variantPalette));
memset(softwareRenderer->enabledBitmap, 0, sizeof(softwareRenderer->enabledBitmap));
softwareRenderer->blda = 0;
softwareRenderer->bldb = 0;
@ -273,13 +272,6 @@ static uint16_t GBAVideoSoftwareRendererWriteVideoRegister(struct GBAVideoRender
static void GBAVideoSoftwareRendererWriteOAM(struct GBAVideoRenderer* renderer, uint32_t oam) {
struct GBAVideoSoftwareRenderer* softwareRenderer = (struct GBAVideoSoftwareRenderer*) renderer;
if ((oam & 0x3) != 0x3) {
oam >>= 2;
struct GBAObj* sprite = &renderer->oam->obj[oam];
int enabled = sprite->transformed || !sprite->disable;
enabled <<= (oam & 0x1F);
softwareRenderer->enabledBitmap[oam >> 5] = (softwareRenderer->enabledBitmap[oam >> 5] & ~(1 << (oam & 0x1F))) | enabled;
}
}
static void GBAVideoSoftwareRendererWritePalette(struct GBAVideoRenderer* renderer, uint32_t address, uint16_t value) {
@ -545,24 +537,15 @@ static void _drawScanline(struct GBAVideoSoftwareRenderer* renderer, int y) {
if (!renderer->currentWindow.objEnable) {
continue;
}
int i, j;
for (j = 0; j < 4; ++j) {
uint32_t bitmap = renderer->enabledBitmap[j];
if (!bitmap) {
continue;
}
for (i = j * 32; i < (j + 1) * 32; ++i) {
if (bitmap & 1) {
int i;
for (i = 0; i < 128; ++i) {
struct GBAObj* sprite = &renderer->d.oam->obj[i];
if (sprite->transformed) {
_preprocessTransformedSprite(renderer, &renderer->d.oam->tobj[i], y);
} else {
} else if (!sprite->disable) {
_preprocessSprite(renderer, sprite, y);
}
}
bitmap >>= 1;
}
}
}
}

View File

@ -144,8 +144,6 @@ struct GBAVideoSoftwareRenderer {
int start;
int end;
uint32_t enabledBitmap[4];
};
void GBAVideoSoftwareRendererCreate(struct GBAVideoSoftwareRenderer* renderer);