mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-11-05 20:35:44 +00:00
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: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
47683d669f
commit
94362682d3
3 changed files with 27 additions and 87 deletions
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
DEFINE_CHECK_SOLID_FUNCTION(32)
|
||||
DEFINE_CHECK_SOLID_FUNCTION(16)
|
||||
DEFINE_CHECK_SOLID_FUNCTION(8)
|
||||
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));
|
||||
}
|
||||
|
||||
*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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
18
ui/vnc.c
18
ui/vnc.c
|
@ -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__);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue