diff options
Diffstat (limited to 'common')
3 files changed, 146 insertions, 0 deletions
diff --git a/common/recipes-graphics/xorg-xserver/xserver-xorg-1.9.3.inc b/common/recipes-graphics/xorg-xserver/xserver-xorg-1.9.3.inc index 888445d7..8c7009f5 100644 --- a/common/recipes-graphics/xorg-xserver/xserver-xorg-1.9.3.inc +++ b/common/recipes-graphics/xorg-xserver/xserver-xorg-1.9.3.inc | |||
@@ -4,6 +4,10 @@ SRC_URI += "file://nodolt.patch \ | |||
4 | # Misc build failure for master HEAD | 4 | # Misc build failure for master HEAD |
5 | SRC_URI += "file://fix_open_max_preprocessor_error.patch" | 5 | SRC_URI += "file://fix_open_max_preprocessor_error.patch" |
6 | 6 | ||
7 | # What once were warnings now are errors, fix those up | ||
8 | SRC_URI += "file://werror-address-fix.patch \ | ||
9 | file://ptr-to-int-cast-fix.patch" | ||
10 | |||
7 | PROTO_DEPS += "xf86driproto dri2proto" | 11 | PROTO_DEPS += "xf86driproto dri2proto" |
8 | DEPENDS += "font-util" | 12 | DEPENDS += "font-util" |
9 | EXTRA_OECONF += "--enable-dri --enable-dri2 --enable-dga" | 13 | EXTRA_OECONF += "--enable-dri --enable-dri2 --enable-dga" |
@@ -13,3 +17,4 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=3dd2bbe3563837f80ed8926b06c1c353" | |||
13 | SRC_URI[md5sum] = "5bef6839a76d029204ab31aa2fcb5201" | 17 | SRC_URI[md5sum] = "5bef6839a76d029204ab31aa2fcb5201" |
14 | SRC_URI[sha256sum] = "864831f51e841ff37f2445d1c85b86b559c8860a435fb496aead4f256a2b141d" | 18 | SRC_URI[sha256sum] = "864831f51e841ff37f2445d1c85b86b559c8860a435fb496aead4f256a2b141d" |
15 | 19 | ||
20 | PR = "r1" | ||
diff --git a/common/recipes-graphics/xorg-xserver/xserver-xorg-1.9.3/ptr-to-int-cast-fix.patch b/common/recipes-graphics/xorg-xserver/xserver-xorg-1.9.3/ptr-to-int-cast-fix.patch new file mode 100644 index 00000000..705cffcb --- /dev/null +++ b/common/recipes-graphics/xorg-xserver/xserver-xorg-1.9.3/ptr-to-int-cast-fix.patch | |||
@@ -0,0 +1,92 @@ | |||
1 | Upstream-Status: Inappropriate [already upstream] | ||
2 | |||
3 | It's broken for devices with BARs above 4G, and the sysfs method should | ||
4 | work everywhere anyway. As a pleasant side effect, this fixes some | ||
5 | warnings: | ||
6 | |||
7 | fbdevhw.c: In function 'fbdev_open_pci': | ||
8 | fbdevhw.c:333:4: warning: cast from pointer to integer of different size | ||
9 | fbdevhw.c:334:4: warning: cast from pointer to integer of different size | ||
10 | fbdevhw.c:336:4: warning: cast from pointer to integer of different size | ||
11 | fbdevhw.c:337:4: warning: cast from pointer to integer of different size | ||
12 | |||
13 | Signed-off-by: Adam Jackson <ajax (a] redhat.com> | ||
14 | Integrated-by: Tom Zanussi <tom.zanussi (a] intel.com> | ||
15 | |||
16 | Index: xorg-server-1.9.3/hw/xfree86/fbdevhw/fbdevhw.c | ||
17 | =================================================================== | ||
18 | --- xorg-server-1.9.3.orig/hw/xfree86/fbdevhw/fbdevhw.c 2012-01-12 10:32:07.097729262 -0600 | ||
19 | +++ xorg-server-1.9.3/hw/xfree86/fbdevhw/fbdevhw.c 2012-01-12 10:32:55.076732780 -0600 | ||
20 | @@ -291,14 +291,7 @@ | ||
21 | { | ||
22 | struct fb_fix_screeninfo fix; | ||
23 | char filename[256]; | ||
24 | - int fd,i,j; | ||
25 | - | ||
26 | - | ||
27 | - /* There are two ways to that we can determine which fb device is | ||
28 | - * associated with this PCI device. The more modern way is to look in | ||
29 | - * the sysfs directory for the PCI device for a file named | ||
30 | - * "graphics/fb*" | ||
31 | - */ | ||
32 | + int fd, i; | ||
33 | |||
34 | for (i = 0; i < 8; i++) { | ||
35 | sprintf(filename, | ||
36 | @@ -331,55 +324,10 @@ | ||
37 | } | ||
38 | } | ||
39 | |||
40 | - | ||
41 | - /* The other way is to examine the resources associated with each fb | ||
42 | - * device and see if there is a match with the PCI device. This technique | ||
43 | - * has some problems on certain mixed 64-bit / 32-bit architectures. | ||
44 | - * There is a flaw in the fb_fix_screeninfo structure in that it only | ||
45 | - * returns the low 32-bits of the address of the resources associated with | ||
46 | - * a device. However, on a mixed architecture the base addresses of PCI | ||
47 | - * devices, even for 32-bit applications, may be higher than 0x0f0000000. | ||
48 | - */ | ||
49 | - | ||
50 | - for (i = 0; i < 8; i++) { | ||
51 | - sprintf(filename,"/dev/fb%d",i); | ||
52 | - if (-1 == (fd = open(filename,O_RDWR,0))) { | ||
53 | - xf86DrvMsg(-1, X_WARNING, | ||
54 | - "open %s: %s\n", filename, strerror(errno)); | ||
55 | - continue; | ||
56 | - } | ||
57 | - if (-1 == ioctl(fd,FBIOGET_FSCREENINFO,(void*)&fix)) { | ||
58 | - close(fd); | ||
59 | - continue; | ||
60 | - } | ||
61 | - for (j = 0; j < 6; j++) { | ||
62 | - const pciaddr_t res_start = pPci->regions[j].base_addr; | ||
63 | - const pciaddr_t res_end = res_start + pPci->regions[j].size; | ||
64 | - | ||
65 | - if ((0 != fix.smem_len && | ||
66 | - (pciaddr_t) fix.smem_start >= res_start && | ||
67 | - (pciaddr_t) fix.smem_start < res_end) || | ||
68 | - (0 != fix.mmio_len && | ||
69 | - (pciaddr_t) fix.mmio_start >= res_start && | ||
70 | - (pciaddr_t) fix.mmio_start < res_end)) | ||
71 | - break; | ||
72 | - } | ||
73 | - if (j == 6) { | ||
74 | - close(fd); | ||
75 | - continue; | ||
76 | - } | ||
77 | - if (namep) { | ||
78 | - *namep = xnfalloc(16); | ||
79 | - strncpy(*namep,fix.id,16); | ||
80 | - } | ||
81 | - return fd; | ||
82 | - } | ||
83 | - | ||
84 | if (namep) | ||
85 | *namep = NULL; | ||
86 | |||
87 | - xf86DrvMsg(-1, X_ERROR, | ||
88 | - "Unable to find a valid framebuffer device\n"); | ||
89 | + xf86DrvMsg(-1, X_ERROR, "Unable to find a valid framebuffer device\n"); | ||
90 | return -1; | ||
91 | } | ||
92 | |||
diff --git a/common/recipes-graphics/xorg-xserver/xserver-xorg-1.9.3/werror-address-fix.patch b/common/recipes-graphics/xorg-xserver/xserver-xorg-1.9.3/werror-address-fix.patch new file mode 100644 index 00000000..49d3f947 --- /dev/null +++ b/common/recipes-graphics/xorg-xserver/xserver-xorg-1.9.3/werror-address-fix.patch | |||
@@ -0,0 +1,49 @@ | |||
1 | Upstream-Status: Inappropriate [yocto-specific] | ||
2 | |||
3 | This is fixed upstream by actually making these tests meaningful. | ||
4 | As they stand, the warning is correct and they're no-ops, so remove | ||
5 | them. | ||
6 | |||
7 | Signed-off-by: Tom Zanussi <tom.zanussi (a] intel.com> | ||
8 | |||
9 | Index: xorg-server-1.9.3/Xext/xvmc.c | ||
10 | =================================================================== | ||
11 | --- xorg-server-1.9.3.orig/Xext/xvmc.c 2012-01-12 09:57:36.306947860 -0600 | ||
12 | +++ xorg-server-1.9.3/Xext/xvmc.c 2012-01-12 10:24:59.286729946 -0600 | ||
13 | @@ -467,7 +467,6 @@ | ||
14 | return Success; | ||
15 | } | ||
16 | |||
17 | - | ||
18 | static int | ||
19 | ProcXvMCListSubpictureTypes(ClientPtr client) | ||
20 | { | ||
21 | @@ -487,9 +486,6 @@ | ||
22 | |||
23 | pScreen = pPort->pAdaptor->pScreen; | ||
24 | |||
25 | - if(XvMCScreenKey == NULL) /* No XvMC adaptors */ | ||
26 | - return BadMatch; | ||
27 | - | ||
28 | if(!(pScreenPriv = XVMC_GET_PRIVATE(pScreen))) | ||
29 | return BadMatch; /* None this screen */ | ||
30 | |||
31 | @@ -668,9 +664,6 @@ | ||
32 | { | ||
33 | ExtensionEntry *extEntry; | ||
34 | |||
35 | - if(XvMCScreenKey == NULL) /* nobody supports it */ | ||
36 | - return; | ||
37 | - | ||
38 | if(!(XvMCRTContext = CreateNewResourceType(XvMCDestroyContextRes, | ||
39 | "XvMCRTContext"))) | ||
40 | return; | ||
41 | @@ -746,8 +739,6 @@ | ||
42 | XvMCAdaptorPtr adaptor = NULL; | ||
43 | int i; | ||
44 | |||
45 | - if(XvMCScreenKey == NULL) return NULL; | ||
46 | - | ||
47 | if(!(pScreenPriv = XVMC_GET_PRIVATE(pScreen))) | ||
48 | return NULL; | ||
49 | |||