Commit 94362682 authored by Gerd Hoffmann's avatar Gerd Hoffmann
Browse files

pixman/vnc: remove dead code.



Switching the vnc server framebuffer to use 32bpp unconditionally
turns the code bits which handle 8 and 16 bpp into dead code.
Remove them.

Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
parent 47683d66
Loading
Loading
Loading
Loading
+0 −32
Original line number Diff line number Diff line
@@ -32,30 +32,10 @@ static void hextile_enc_cord(uint8_t *ptr, int x, int y, int w, int h)
    ptr[1] = (((w - 1) & 0x0F) << 4) | ((h - 1) & 0x0F);
}

#define BPP 8
#include "vnc-enc-hextile-template.h"
#undef BPP

#define BPP 16
#include "vnc-enc-hextile-template.h"
#undef BPP

#define BPP 32
#include "vnc-enc-hextile-template.h"
#undef BPP

#define GENERIC
#define BPP 8
#include "vnc-enc-hextile-template.h"
#undef BPP
#undef GENERIC

#define GENERIC
#define BPP 16
#include "vnc-enc-hextile-template.h"
#undef BPP
#undef GENERIC

#define GENERIC
#define BPP 32
#include "vnc-enc-hextile-template.h"
@@ -89,24 +69,12 @@ void vnc_hextile_set_pixel_conversion(VncState *vs, int generic)
{
    if (!generic) {
        switch (VNC_SERVER_FB_BITS) {
        case 8:
            vs->hextile.send_tile = send_hextile_tile_8;
            break;
        case 16:
            vs->hextile.send_tile = send_hextile_tile_16;
            break;
        case 32:
            vs->hextile.send_tile = send_hextile_tile_32;
            break;
        }
    } else {
        switch (VNC_SERVER_FB_BITS) {
        case 8:
            vs->hextile.send_tile = send_hextile_tile_generic_8;
            break;
        case 16:
            vs->hextile.send_tile = send_hextile_tile_generic_16;
            break;
        case 32:
            vs->hextile.send_tile = send_hextile_tile_generic_32;
            break;
+27 −37
Original line number Diff line number Diff line
@@ -671,41 +671,35 @@ DEFINE_GRADIENT_FILTER_FUNCTION(32)
 * that case new color will be stored in *colorPtr.
 */

#define DEFINE_CHECK_SOLID_FUNCTION(bpp)                                \
                                                                        \
    static bool                                                         \
    check_solid_tile##bpp(VncState *vs, int x, int y, int w, int h,     \
                          uint32_t* color, bool samecolor)              \
    {                                                                   \
        VncDisplay *vd = vs->vd;                                        \
        uint##bpp##_t *fbptr;                                           \
        uint##bpp##_t c;                                                \
        int dx, dy;                                                     \
                                                                        \
        fbptr = vnc_server_fb_ptr(vd, x, y);                            \
                                                                        \
        c = *fbptr;                                                     \
        if (samecolor && (uint32_t)c != *color) {                       \
            return false;                                               \
        }                                                               \
                                                                        \
        for (dy = 0; dy < h; dy++) {                                    \
            for (dx = 0; dx < w; dx++) {                                \
                if (c != fbptr[dx]) {                                   \
                    return false;                                       \
                }                                                       \
            }                                                           \
            fbptr = (uint##bpp##_t *)                                   \
                ((uint8_t *)fbptr + vnc_server_fb_stride(vd));          \
        }                                                               \
                                                                        \
        *color = (uint32_t)c;                                           \
        return true;                                                    \
static bool
check_solid_tile32(VncState *vs, int x, int y, int w, int h,
                   uint32_t *color, bool samecolor)
{
    VncDisplay *vd = vs->vd;
    uint32_t *fbptr;
    uint32_t c;
    int dx, dy;

    fbptr = vnc_server_fb_ptr(vd, x, y);

    c = *fbptr;
    if (samecolor && (uint32_t)c != *color) {
        return false;
    }

    for (dy = 0; dy < h; dy++) {
        for (dx = 0; dx < w; dx++) {
            if (c != fbptr[dx]) {
                return false;
            }
        }
        fbptr = (uint32_t *)
            ((uint8_t *)fbptr + vnc_server_fb_stride(vd));
    }

DEFINE_CHECK_SOLID_FUNCTION(32)
DEFINE_CHECK_SOLID_FUNCTION(16)
DEFINE_CHECK_SOLID_FUNCTION(8)
    *color = (uint32_t)c;
    return true;
}

static bool check_solid_tile(VncState *vs, int x, int y, int w, int h,
                             uint32_t* color, bool samecolor)
@@ -713,10 +707,6 @@ static bool check_solid_tile(VncState *vs, int x, int y, int w, int h,
    switch (VNC_SERVER_FB_BYTES) {
    case 4:
        return check_solid_tile32(vs, x, y, w, h, color, samecolor);
    case 2:
        return check_solid_tile16(vs, x, y, w, h, color, samecolor);
    default:
        return check_solid_tile8(vs, x, y, w, h, color, samecolor);
    }
}

+0 −18
Original line number Diff line number Diff line
@@ -666,24 +666,6 @@ static void vnc_write_pixels_generic(VncState *vs,
            vnc_convert_pixel(vs, buf, pixels[i]);
            vnc_write(vs, buf, vs->client_pf.bytes_per_pixel);
        }
    } else if (VNC_SERVER_FB_BYTES == 2) {
        uint16_t *pixels = pixels1;
        int n, i;
        n = size >> 1;
        for (i = 0; i < n; i++) {
            vnc_convert_pixel(vs, buf, pixels[i]);
            vnc_write(vs, buf, vs->client_pf.bytes_per_pixel);
        }
    } else if (VNC_SERVER_FB_BYTES == 1) {
        uint8_t *pixels = pixels1;
        int n, i;
        n = size;
        for (i = 0; i < n; i++) {
            vnc_convert_pixel(vs, buf, pixels[i]);
            vnc_write(vs, buf, vs->client_pf.bytes_per_pixel);
        }
    } else {
        fprintf(stderr, "%s: VncState color depth not supported\n", __func__);
    }
}