Bumps the psplash SRCREV and removes the fbdev pixel format patch that has now

been applied upstream.



git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4556 311d38ba-8fff-0310-9ca6-ca027cbcb966
This commit is contained in:
Robert Bragg 2008-05-27 16:53:08 +00:00
parent d723f4212e
commit f83b1de69b
3 changed files with 3 additions and 131 deletions

View File

@ -144,7 +144,7 @@ SRCREV_pn-opkg-sdk ?= "4209"
SRCREV_pn-opkg ?= "4209"
SRCREV_pn-oprofileui ?= "173"
SRCREV_pn-owl-video-widget ?= "324"
SRCREV_pn-psplash ?= "363"
SRCREV_pn-psplash ?= "377"
QEMUSRCREV = "4242"
SRCREV_pn-qemu-native ?= "${QEMUSRCREV}"
SRCREV_pn-qemu-sdk ?= "${QEMUSRCREV}"

View File

@ -1,127 +0,0 @@
Index: psplash-fb.c
===================================================================
--- psplash-fb.c (revision 376)
+++ psplash-fb.c (working copy)
@@ -25,6 +25,77 @@
free(fb);
}
+static int
+attempt_to_change_pixel_format (PSplashFB *fb,
+ struct fb_var_screeninfo *fb_var)
+{
+ /* By default the framebuffer driver may have set an oversized
+ * yres_virtual to support VT scrolling via the panning interface.
+ *
+ * We don't try and maintain this since it's more likely that we
+ * will fail to increase the bpp if the driver's pre allocated
+ * framebuffer isn't large enough.
+ */
+ fb_var->yres_virtual = fb_var->yres;
+
+ /* First try setting an 8,8,8,0 pixel format so we don't have to do
+ * any conversions while drawing. */
+
+ fb_var->bits_per_pixel = 32;
+
+ fb_var->red.offset = 0;
+ fb_var->red.length = 8;
+
+ fb_var->green.offset = 8;
+ fb_var->green.length = 8;
+
+ fb_var->blue.offset = 16;
+ fb_var->blue.length = 8;
+
+ fb_var->transp.offset = 0;
+ fb_var->transp.length = 0;
+
+ if (ioctl (fb->fd, FBIOPUT_VSCREENINFO, fb_var) == 0)
+ {
+ fprintf(stdout, "Switched to a 32 bpp 8,8,8 frame buffer\n");
+ return 1;
+ }
+ else
+ {
+ fprintf(stderr,
+ "Error, failed to switch to a 32 bpp 8,8,8 frame buffer\n");
+ }
+
+ /* Otherwise try a 16bpp 5,6,5 format */
+
+ fb_var->bits_per_pixel = 16;
+
+ fb_var->red.offset = 11;
+ fb_var->red.length = 5;
+
+ fb_var->green.offset = 5;
+ fb_var->green.length = 6;
+
+ fb_var->blue.offset = 0;
+ fb_var->blue.length = 5;
+
+ fb_var->transp.offset = 0;
+ fb_var->transp.length = 0;
+
+ if (ioctl (fb->fd, FBIOPUT_VSCREENINFO, fb_var) == 0)
+ {
+ fprintf(stdout, "Switched to a 16 bpp 5,6,5 frame buffer\n");
+ return 1;
+ }
+ else
+ {
+ fprintf(stderr,
+ "Error, failed to switch to a 16 bpp 5,6,5 frame buffer\n");
+ }
+
+ return 0;
+}
+
PSplashFB*
psplash_fb_new (int angle)
{
@@ -55,20 +126,31 @@
goto fail;
}
- if (ioctl (fb->fd, FBIOGET_FSCREENINFO, &fb_fix) == -1
- || ioctl (fb->fd, FBIOGET_VSCREENINFO, &fb_var) == -1)
+ if (ioctl (fb->fd, FBIOGET_VSCREENINFO, &fb_var) == -1)
{
- perror ("Error getting framebuffer info");
+ perror ("Error getting variable framebuffer info");
goto fail;
}
if (fb_var.bits_per_pixel < 16)
{
fprintf(stderr,
- "Error, no support currently for %i bpp frame buffers\n",
+ "Error, no support currently for %i bpp frame buffers\n"
+ "Trying to change pixel format...\n",
fb_var.bits_per_pixel);
+ if (!attempt_to_change_pixel_format (fb, &fb_var))
+ goto fail;
}
+ /* NB: It looks like the fbdev concept of fixed vs variable screen info is
+ * broken. The line_length is part of the fixed info but it can be changed
+ * if you set a new pixel format. */
+ if (ioctl (fb->fd, FBIOGET_FSCREENINFO, &fb_fix) == -1)
+ {
+ perror ("Error getting fixed framebuffer info");
+ goto fail;
+ }
+
fb->real_width = fb->width = fb_var.xres;
fb->real_height = fb->height = fb_var.yres;
fb->bpp = fb_var.bits_per_pixel;
Index: psplash.c
===================================================================
--- psplash.c (revision 376)
+++ psplash.c (working copy)
@@ -286,3 +286,4 @@
return 0;
}
+

View File

@ -2,11 +2,10 @@ DESCRIPTION = "Userspace framebuffer boot logo based on usplash."
SECTION = "base"
LICENSE = "GPL"
PV = "0.0+svnr${SRCREV}"
PR = "r1"
PR = "r2"
SRC_URI = "svn://svn.o-hand.com/repos/misc/trunk;module=psplash;proto=http \
file://psplash-init \
file://psplash-fbdev-pixfmt.patch;patch=1;pnum=0"
file://psplash-init"
S = "${WORKDIR}/psplash"