removed mixed scalers entirely, they're in git

This commit is contained in:
Shaun Inman 2023-02-16 20:41:21 -05:00
parent 2eb550826d
commit d24721469d
4 changed files with 1 additions and 102 deletions

View file

@ -1039,84 +1039,3 @@ void scale6x_c32(void* __restrict src, void* __restrict dst, uint32_t sw, uint32
memcpy((uint8_t*)dst+dp*5, dst, swl); memcpy((uint8_t*)dst+dp*5, dst, swl);
} }
} }
//
// mixed scalers
//
void scale1x2_c16(void* __restrict src, void* __restrict dst, uint32_t sw, uint32_t sh, uint32_t sp, uint32_t dp) {
if (!sw||!sh) { return; }
uint32_t swl = sw*sizeof(uint16_t);
if (!sp) { sp = swl; } if (!dp) { dp = swl*1; }
for (; sh>0; sh--, src=(uint8_t*)src+sp, dst=(uint8_t*)dst+dp*2) {
memcpy(dst, src, swl);
memcpy((uint8_t*)dst+dp, dst, swl);
}
}
void scale2x1_c16(void* __restrict src, void* __restrict dst, uint32_t sw, uint32_t sh, uint32_t sp, uint32_t dp) {
if (!sw||!sh) { return; }
uint32_t x, dx, pix, dpix1, dpix2, swl = sw*sizeof(uint16_t);
if (!sp) { sp = swl; } swl*=2; if (!dp) { dp = swl; }
for (; sh>0; sh--, src=(uint8_t*)src+sp, dst=(uint8_t*)dst+dp*1) {
uint32_t *s = (uint32_t* __restrict)src;
uint32_t *d = (uint32_t* __restrict)dst;
for (x=dx=0; x<(sw/2); x++, dx+=2) {
pix = s[x];
dpix1=(pix & 0x0000FFFF)|(pix<<16);
dpix2=(pix & 0xFFFF0000)|(pix>>16);
d[dx] = dpix1; d[dx+1] = dpix2;
}
if (sw&1) {
uint16_t *s16 = (uint16_t*)s;
uint16_t pix16 = s16[x*2];
d[dx] = pix16|(pix16<<16);
}
}
}
void scale2x3_c16(void* __restrict src, void* __restrict dst, uint32_t sw, uint32_t sh, uint32_t sp, uint32_t dp) {
if (!sw||!sh) { return; }
uint32_t x, dx, pix, dpix1, dpix2, swl = sw*sizeof(uint16_t);
if (!sp) { sp = swl; } swl*=2; if (!dp) { dp = swl; }
for (; sh>0; sh--, src=(uint8_t*)src+sp, dst=(uint8_t*)dst+dp*3) {
uint32_t *s = (uint32_t* __restrict)src;
uint32_t *d = (uint32_t* __restrict)dst;
for (x=dx=0; x<(sw/2); x++, dx+=2) {
pix = s[x];
dpix1=(pix & 0x0000FFFF)|(pix<<16);
dpix2=(pix & 0xFFFF0000)|(pix>>16);
d[dx] = dpix1; d[dx+1] = dpix2;
}
if (sw&1) {
uint16_t *s16 = (uint16_t*)s;
uint16_t pix16 = s16[x*2];
d[dx] = pix16|(pix16<<16);
}
memcpy((uint8_t*)dst+dp*1, dst, swl);
memcpy((uint8_t*)dst+dp*2, dst, swl);
}
}
void scale4x2_c16(void* __restrict src, void* __restrict dst, uint32_t sw, uint32_t sh, uint32_t sp, uint32_t dp) {
if (!sw||!sh) { return; }
uint32_t x, dx, pix, dpix1, dpix2, swl = sw*sizeof(uint16_t);
if (!sp) { sp = swl; } swl*=4; if (!dp) { dp = swl; }
for (; sh>0; sh--, src=(uint8_t*)src+sp, dst=(uint8_t*)dst+dp*2) {
uint32_t *s = (uint32_t* __restrict)src;
uint32_t *d = (uint32_t* __restrict)dst;
for (x=dx=0; x<(sw/2); x++, dx+=4) {
pix = s[x];
dpix1=(pix & 0x0000FFFF)|(pix<<16);
dpix2=(pix & 0xFFFF0000)|(pix>>16);
d[dx] = dpix1; d[dx+1] = dpix1; d[dx+2] = dpix2; d[dx+3] = dpix2;
}
if (sw&1) {
uint16_t *s16 = (uint16_t*)s;
uint16_t pix16 = s16[x*2];
dpix1 = pix16|(pix16<<16);
d[dx] = dpix1; d[dx+1] = dpix1;
}
memcpy((uint8_t*)dst+dp*1, dst, swl);
}
}

View file

@ -51,10 +51,4 @@ void scale5x_c32(void* __restrict src, void* __restrict dst, uint32_t sw, uint32
void scale6x_c16(void* __restrict src, void* __restrict dst, uint32_t sw, uint32_t sh, uint32_t sp, uint32_t dp); void scale6x_c16(void* __restrict src, void* __restrict dst, uint32_t sw, uint32_t sh, uint32_t sp, uint32_t dp);
void scale6x_c32(void* __restrict src, void* __restrict dst, uint32_t sw, uint32_t sh, uint32_t sp, uint32_t dp); void scale6x_c32(void* __restrict src, void* __restrict dst, uint32_t sw, uint32_t sh, uint32_t sp, uint32_t dp);
// mixed scalers
void scale1x2_c16(void* __restrict src, void* __restrict dst, uint32_t sw, uint32_t sh, uint32_t sp, uint32_t dp);
void scale2x1_c16(void* __restrict src, void* __restrict dst, uint32_t sw, uint32_t sh, uint32_t sp, uint32_t dp);
void scale2x3_c16(void* __restrict src, void* __restrict dst, uint32_t sw, uint32_t sh, uint32_t sp, uint32_t dp);
void scale4x2_c16(void* __restrict src, void* __restrict dst, uint32_t sw, uint32_t sh, uint32_t sp, uint32_t dp);
#endif #endif

View file

@ -2316,20 +2316,6 @@ static void selectScaler_AR(int width, int height, int pitch) {
case 3: renderer.scaler = scale3x_n16; break; case 3: renderer.scaler = scale3x_n16; break;
case 2: renderer.scaler = scale2x_n16; break; case 2: renderer.scaler = scale2x_n16; break;
default: renderer.scaler = scale1x_n16; break; default: renderer.scaler = scale1x_n16; break;
// case 4:
// if (scale_y==2) renderer.scaler = scale4x2_c16;
// else renderer.scaler = scale4x_c16;
// break;
// case 3:
// if (scale_x==2) renderer.scaler = scale2x3_c16;
// else renderer.scaler = scale3x_c16;
// break;
// case 2:
// if (scale_x==1) renderer.scaler = scale1x2_c16;
// else if (scale_y==1) renderer.scaler = scale2x1_c16;
// else renderer.scaler = scale2x_c16;
// break;
// default: renderer.scaler = scale1x_n16; break;
} }
if (scaler_surface) SDL_FreeSurface(scaler_surface); if (scaler_surface) SDL_FreeSurface(scaler_surface);

View file

@ -4,7 +4,7 @@ static CoreOverrides pokemini_overrides = {
.core_name = "pokemini", .core_name = "pokemini",
.option_overrides = (OptionOverride[]){ .option_overrides = (OptionOverride[]){
{"pokemini_video_scale", "6x",1}, {"pokemini_video_scale", "6x",1},
{"pokemini_60hz_mode", "enabled",1}, {"pokemini_60hz_mode", "enabled",1}, // 75fps isn't practical here
{"pokemini_palette", "Old"}, {"pokemini_palette", "Old"},
{"pokemini_piezofilter", "disabled"}, {"pokemini_piezofilter", "disabled"},
{"pokemini_lowpass_filter", "enabled"}, {"pokemini_lowpass_filter", "enabled"},