Remove 15bpp surface operations

These were used only with X11 backend.
This commit is contained in:
kichikuou
2020-10-04 16:01:48 +09:00
parent 379ca744d5
commit ebb249cd47
25 changed files with 3 additions and 495 deletions
-15
View File
@@ -169,21 +169,6 @@ void sf_blend_white_level(surface_t *dst, int dx, int dy, surface_t *src, int sx
dp = GETOFFSET_PIXEL(dst, dx, dy);
switch(dst->depth) {
case 15:
{
WORD *yls, *yld;
for (y = 0; y < sh; y++) {
yls = (WORD *)(sp + y * src->bytes_per_line);
yld = (WORD *)(dp + y * dst->bytes_per_line);
for (x = 0; x < sw; x++) {
*yld = WHITELEVEL15(*yls, lv);
yls++; yld++;
}
}
break;
}
case 16:
{
WORD *yls, *yld;
-1
View File
@@ -76,7 +76,6 @@ static surface_t *stretch(surface_t *src, int dw, int dh, int mirror) {
switch(dst->depth) {
case 8:
SCALEDCOPYAREA(BYTE); break;
case 15:
case 16:
SCALEDCOPYAREA(WORD); break;
case 24:
-10
View File
@@ -37,16 +37,6 @@ static void ppm2surface(surface_t *sf, int curscanline, unsigned char *src, int
BYTE *dp = GETOFFSET_PIXEL(sf, 0, curscanline);
switch (sf->depth) {
case 15:
{
WORD *dst = (WORD *)dp;
while (width--) {
*dst = PIX15(*src, *(src +1), *(src +2));
dst++; src+= 3;
}
break;
}
case 16:
{
WORD *dst = (WORD *)dp;
-1
View File
@@ -76,7 +76,6 @@ static surface_t *stretch(surface_t *src, int dw, int dh, int mirror) {
switch(dst->depth) {
case 8:
SCALEDCOPYAREA(BYTE); break;
case 15:
case 16:
SCALEDCOPYAREA(WORD); break;
case 24:
-1
View File
@@ -10,7 +10,6 @@ static void do_aff(surface_t *in, surface_t *out, int deg, double zx, double zy)
int i, j, m, n;
switch(in->depth) {
case 15:
case 16: {
WORD *src, *dst;
-1
View File
@@ -44,7 +44,6 @@ static void do_per(surface_t *in, surface_t *out, float *k) {
int ys = in->height /2;
switch(in->depth) {
case 15:
case 16: {
WORD *src, *dst;
-1
View File
@@ -4,7 +4,6 @@ static void uneune(surface_t *in, surface_t *out, int st) {
int x, y, m, n;
switch(in->depth) {
case 15:
case 16: {
WORD *src, *dst;
for (y = 0; y < in->height; y++) {
-34
View File
@@ -147,23 +147,6 @@ static void ChangeNotColor() {
dp = GETOFFSET_PIXEL(dib, x0, y0);
switch(dib->depth) {
case 15:
{
WORD pic15s = PIX15(*src, *(src+1), *(src+2));
WORD pic15d = PIX15(*dst, *(dst+1), *(dst+2));
WORD *yl;
for (y = 0; y < height; y++) {
yl = (WORD *)(dp + y * dib->bytes_per_line);
for (x = 0; x < width; x++) {
if (*yl != pic15s) {
*yl = pic15d;
}
yl++;
}
}
break;
}
case 16:
{
WORD pic16s = PIX16(*src, *(src+1), *(src+2));
@@ -586,23 +569,6 @@ static void copy_sprite(int sx, int sy, int width, int height, int dx, int dy, i
dp = GETOFFSET_PIXEL(dib, dx, dy);
switch(dib->depth) {
case 15:
{
WORD pic15 = PIX15(r, g, b);
WORD *yls, *yld;
for (y = 0; y < height; y++) {
yls = (WORD *)(sp + y * dib->bytes_per_line);
yld = (WORD *)(dp + y * dib->bytes_per_line);
for (x = 0; x < width; x++) {
if (*yls != pic15) {
*yld = *yls;
}
yls++; yld++;
}
}
break;
}
case 16:
{
WORD pic16 = PIX16(r, g, b);
-22
View File
@@ -272,28 +272,6 @@ void gr_copy_stretch_blend_alpha_map(surface_t *dst, int dx, int dy, int dw, int
}
switch(dst->depth) {
case 15:
{
WORD *yls, *yld;
BYTE *yla;
for (y = 0; y < dh; y++) {
yls = (WORD *)(sp + *(y + col) * src->bytes_per_line);
yld = (WORD *)(dp + y * dst->bytes_per_line);
yla = (BYTE *)(sa + *(y + col) * src->width);
for (x = 0; x < dw; x++) {
*(yld + x) = ALPHABLEND15(*(yls+ *(row + x)), *(yld+x), *(yla+*(row+x)));
}
while(*(col + y) == *(col + y + 1)) {
yld += dst->width;
for (x = 0; x < dw; x++) {
*(yld + x) = ALPHABLEND15(*(yls+ *(row+x)), *(yld+x), *(yla+*(row+x)));
}
y++;
}
}
break;
}
case 16:
{
WORD *yls, *yld;
-18
View File
@@ -94,24 +94,6 @@ void gr_blend_alpha_wds(surface_t *src1, int sx1, int sy1, surface_t *src2, int
dp = GETOFFSET_PIXEL(dst, dx, dy);
switch(dst->depth) {
case 15:
{
WORD *yls1, *yls2, *yld;
BYTE *yla;
for (y = 0; y < sh; y++) {
yls1 = (WORD *)(sp1 + y * src1->bytes_per_line);
yls2 = (WORD *)(sp2 + y * src2->bytes_per_line);
yld = (WORD *)(dp + y * dst->bytes_per_line);
yla = (BYTE *)(sa + y * src1->width);
for (x = 0; x < sw; x++) {
*yld = SUTURADD15(*yls1, ALPHABLEND15(*yls1, *yls2, *yla));
yls1++; yls2++; yld++; yla++;
}
}
break;
}
case 16:
// if (nact->mmx_is_ok) {
if (0) {
-63
View File
@@ -19,39 +19,6 @@ int gr_buller(surface_t *dst, int dx, int dy, surface_t *src, int sx, int sy, in
sp = GETOFFSET_PIXEL(src, sx, sy);
dp = GETOFFSET_PIXEL(dst, dx, dy);
switch(dst->depth) {
case 15:
{
WORD *yld, *yls;
for (y = 0; y < height; y++) {
yls = (WORD *)(sp + y * src->bytes_per_line);
yld = (WORD *)(dp + y * dst->bytes_per_line);
for (x = 0; x < step; x++) {
*yld = *(yls+step);
yls++; yld++;
}
for (; x < (width - step*2); x++) {
r1 = PIXR15((*(yls+step)));
g1 = PIXG15((*(yls+step)));
b1 = PIXB15((*(yls+step)));
r2 = PIXR15((*(yls-step)));
g2 = PIXG15((*(yls-step)));
b2 = PIXB15((*(yls-step)));
r3 = min(255, (r1+r2) >> 1);
g3 = min(255, (g1+g2) >> 1);
b3 = min(255, (b1+b2) >> 1);
*yld = PIX15(r3, g3, b3);
yld++; yls++;
}
for (; x < width; x++) {
*yld = *(yls-step);
yls++; yld++;
}
}
break;
}
case 16:
{
WORD *yld, *yls;
@@ -137,36 +104,6 @@ int gr_buller_v(surface_t *dst, int dx, int dy, surface_t *src, int sx, int sy,
sp = GETOFFSET_PIXEL(src, sx, sy);
dp = GETOFFSET_PIXEL(dst, dx, dy);
switch(dst->depth) {
case 15:
{
WORD *yld, *yls;
for (x = 0; x < width; x++) {
yls = (WORD *)(sp + x * src->bytes_per_pixel);
yld = (WORD *)(dp + x * dst->bytes_per_pixel);
for (y = 0; y < step; y++) {
*(yld+y*dst->width) = *(yls+(y+step)*src->width);
}
for (; y < (height - step*2); y++) {
r1 = PIXR15((*(yls+(y+step)*src->width)));
g1 = PIXG15((*(yls+(y+step)*src->width)));
b1 = PIXB15((*(yls+(y+step)*src->width)));
r2 = PIXR15((*(yls+(y-step)*src->width)));
g2 = PIXG15((*(yls+(y-step)*src->width)));
b2 = PIXB15((*(yls+(y-step)*src->width)));
r3 = min(255, (r1+r2) >> 1);
g3 = min(255, (g1+g2) >> 1);
b3 = min(255, (b1+b2) >> 1);
*(yld+y*dst->width) = PIX15(r3, g3, b3);
}
for (; y < height; y++) {
*(yld+y*dst->width) = *(yls+(y-step)*src->width);
}
}
break;
}
case 16:
{
WORD *yld, *yls;
-32
View File
@@ -57,23 +57,6 @@ void gr_drawimage24(surface_t *ds, cgdata *cg, int x, int y) {
dp = GETOFFSET_PIXEL(ds, dx, dy);
switch(ds->depth) {
case 15:
{
WORD *yl;
for (y = 0; y < dh; y++) {
yl = (WORD *)(dp + y * ds->bytes_per_line);
for (x = 0; x < dw; x++) {
r = *sp;
g = *(sp +1);
b = *(sp +2);
*yl = PIX15(r, g, b);
yl++; sp += 3;
}
sp += ((cg->width - dw) * 3);
}
break;
}
case 16:
{
WORD *yl;
@@ -138,21 +121,6 @@ void gr_drawimage16(surface_t *ds, cgdata *cg, int x, int y) {
dp = GETOFFSET_PIXEL(ds, dx, dy);
switch(ds->depth) {
case 15:
{
WORD *yl;
for (y = 0; y < dh; y++) {
yl = (WORD *)(dp + y * ds->bytes_per_line);
for (x = 0; x < dw; x++) {
pic16 = *sp;
*yl = PIX15(PIXR16(pic16), PIXG16(pic16), PIXB16(pic16));
yl++; sp ++;
}
sp += (cg->width - dw);
}
break;
}
case 16:
{
for (y = 0; y < dh; y++) {
-15
View File
@@ -19,21 +19,6 @@ void gr_copy_bright(surface_t *dst, int dx, int dy, surface_t *src, int sx, int
if (sp == NULL || dp == NULL) return;
switch(dst->depth) {
case 15:
{
WORD *yls, *yld;
for (y = 0; y < height; y++) {
yls = (WORD *)(sp + y * src->bytes_per_line);
yld = (WORD *)(dp + y * dst->bytes_per_line);
for (x = 0; x < width; x++) {
*yld = ALPHALEVEL15(*yls, lv);
yls++; yld++;
}
}
break;
}
case 16:
if (nact->mmx_is_ok) {
// if (0) {
-15
View File
@@ -20,21 +20,6 @@ void gr_copy_whiteout(surface_t *dst, int dx, int dy, surface_t *src, int sx, in
if (sp == NULL || dp == NULL) return;
switch(dst->depth) {
case 15:
{
WORD *yls, *yld;
for (y = 0; y < sh; y++) {
yls = (WORD *)(sp + y * src->bytes_per_line);
yld = (WORD *)(dp + y * dst->bytes_per_line);
for (x = 0; x < sw; x++) {
*yld = WHITELEVEL15(*yls, lv);
yls++; yld++;
}
}
break;
}
case 16:
{
WORD *yls, *yld;
-16
View File
@@ -19,22 +19,6 @@ int gr_expandcolor_blend(surface_t *dst, int dx, int dy, surface_t *src, int sx,
dp = GETOFFSET_PIXEL(dst, dx, dy);
switch(dst->depth) {
case 15: {
WORD *yd;
BYTE *ys;
col = PIX15(r, g, b);
for (y = 0; y < sh; y++) {
ys = (BYTE *)(sp + y * src->bytes_per_line);
yd = (WORD *)(dp + y * dst->bytes_per_line);
for (x = 0; x < sw; x++) {
if (*ys) {
*yd = ALPHABLEND15(col, *yd, (BYTE)*ys);
}
ys++; yd++;
}
}
break;
}
case 16:
col = PIX16(r, g, b);
//if (nact->mmx_is_ok) {
-9
View File
@@ -21,15 +21,6 @@ int gr_fill(surface_t *dst, int dx, int dy, int dw, int dh, int r, int g, int b)
memset(dp, r, dw);
break;
case 15:
{
WORD pic15 = PIX15(r, g, b);
for (x = 0; x < dw; x++) {
*((WORD *)dp + x) = pic15;
}
break;
}
case 16:
{
WORD pic16 = PIX16(r, g, b);
-14
View File
@@ -18,20 +18,6 @@ int gr_fill_alpha_color(surface_t *dst, int dx, int dy, int dw, int dh, int r, i
dp = GETOFFSET_PIXEL(dst, dx, dy);
switch(dst->depth) {
case 15:
{
WORD pic15 = PIX15(r, g, b);
WORD *yls;
for (y = 0; y < dh; y++) {
yls = (WORD *)(dp + y * dst->bytes_per_line);
for (x = 0; x < dw; x++) {
*yls = ALPHABLEND15(pic15, *yls, lv);
yls++;
}
}
break;
}
case 16:
if (nact->mmx_is_ok) {
#ifdef ENABLE_MMX
-3
View File
@@ -19,8 +19,6 @@ int gr_drawrect(surface_t *dst, int x, int y, int w, int h, int r, int g, int b)
switch(dst->depth) {
case 8:
col = r; break;
case 15:
col = PIX15(r, g, b); break;
case 16:
col = PIX16(r, g, b); break;
case 24:
@@ -49,7 +47,6 @@ int gr_drawrect(surface_t *dst, int x, int y, int w, int h, int r, int g, int b)
*((BYTE *)dp + i) = col;
}
break;
case 15:
case 16:
/* top */
for (i = 0; i < w; i++) {
-1
View File
@@ -38,7 +38,6 @@ void gr_copy_stretch(surface_t *dst, int dx, int dy, int dw, int dh, surface_t *
}
switch(dst->depth) {
case 15:
case 16:
{
WORD *yls, *yld;
-16
View File
@@ -16,22 +16,6 @@ int gre_Blend(surface_t *write, int wx, int wy, surface_t *dst, int dx, int dy,
dp = GETOFFSET_PIXEL(dst, dx, dy);
switch(dst->depth) {
case 15:
{
WORD *yls, *yld, *ylw;
for (y = 0; y < height; y++) {
yls = (WORD *)(sp + y * src->bytes_per_line);
yld = (WORD *)(dp + y * dst->bytes_per_line);
ylw = (WORD *)(wp + y * write->bytes_per_line);
for (x = 0; x < width; x++) {
*ylw = ALPHABLEND15(*yls, *yld, lv);
yls++; yld++; ylw++;
}
}
break;
}
case 16:
if (nact->mmx_is_ok) {
// if (0) {
-16
View File
@@ -15,22 +15,6 @@ int gre_BlendScreen(surface_t *write, int wx, int wy, surface_t *dst, int dx, in
dp = GETOFFSET_PIXEL(dst, dx, dy);
switch(dst->depth) {
case 15:
{
WORD *yls, *yld, *ylw;
for (y = 0; y < height; y++) {
yls = (WORD *)(sp + y * src->bytes_per_line);
yld = (WORD *)(dp + y * dst->bytes_per_line);
ylw = (WORD *)(wp + y * write->bytes_per_line);
for (x = 0; x < width; x++) {
*ylw = SUTURADD15(*yls, *yld);
yls++; yld++; ylw++;
}
}
break;
}
case 16:
{
WORD *yls, *yld, *ylw;
-36
View File
@@ -19,24 +19,6 @@ int gre_BlendUseAMap(surface_t *write, int wx, int wy, surface_t *dst, int dx, i
if (lv == 255) {
switch(dst->depth) {
case 15:
{
WORD *yls, *yld, *ylw;
BYTE *yla;
for (y = 0; y < height; y++) {
yls = (WORD *)(sp + y * src->bytes_per_line);
yld = (WORD *)(dp + y * dst->bytes_per_line);
ylw = (WORD *)(wp + y * write->bytes_per_line);
yla = (BYTE *)(ap + y * alpha->width);
for (x = 0; x < width; x++) {
*ylw = ALPHABLEND15(*yls, *yld, *yla);
yls++; yld++; ylw++; yla++;
}
}
break;
}
case 16:
if (nact->mmx_is_ok) {
// if (0) {
@@ -88,24 +70,6 @@ int gre_BlendUseAMap(surface_t *write, int wx, int wy, surface_t *dst, int dx, i
} else {
switch(dst->depth) {
case 15:
{
WORD *yls, *yld, *ylw;
BYTE *yla;
for (y = 0; y < height; y++) {
yls = (WORD *)(sp + y * src->bytes_per_line);
yld = (WORD *)(dp + y * dst->bytes_per_line);
ylw = (WORD *)(wp + y * write->bytes_per_line);
yla = (BYTE *)(ap + y * alpha->width);
for (x = 0; x < width; x++) {
*ylw = ALPHABLEND15(*yls, *yld, (*yla * lv) / 255);
yls++; yld++; ylw++; yla++;
}
}
break;
}
case 16:
if (nact->mmx_is_ok) {
// if (0) {
+2 -3
View File
@@ -25,7 +25,6 @@ static surface_t *create(int width, int height, int depth, boolean has_pixel, bo
s->bytes_per_line = width;
s->bytes_per_pixel = 1;
break;
case 15:
case 16:
s->pixel = calloc(width * (height +1) * 2, sizeof(BYTE));
s->bytes_per_line = width * 2;
@@ -53,7 +52,7 @@ static surface_t *create(int width, int height, int depth, boolean has_pixel, bo
* surfaceの生成 (pixel + alpha)
* @param width: surfaceの幅
* @param height: surfaceの高さ
* @param depth: surfaceのpixelのBPP (8|15|16|24|32), alphaは8固定
* @param depth: surfaceのpixelのBPP (8|16|24|32), alphaは8固定
* @return 生成した surface オブジェクト
*/
surface_t *sf_create_surface(int width, int height, int depth) {
@@ -74,7 +73,7 @@ surface_t *sf_create_alpha(int width, int height) {
* surfaceの生成 (pixelのみ)
* @param width: surfaceの幅
* @param height: surfaceの高さ
* @param depth: surfaceのBPP(8|15|16|24|32)
* @param depth: surfaceのBPP(8|16|24|32)
* @return 生成した surface オブジェクト
*/
surface_t *sf_create_pixel(int width, int height, int depth) {