From a3ea44be80dab99ec9fa2df865e021bd92a5d35a Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Mon, 2 Apr 2012 12:27:19 -0400 Subject: [PATCH] mesa-8.0.1-fix-16bpp.patch: Fix 16bpp in llvmpipe --- mesa-8.0.1-fix-16bpp.patch | 27 +++++++++++++++++++++++++++ mesa.spec | 14 +++++++------- 2 files changed, 34 insertions(+), 7 deletions(-) create mode 100644 mesa-8.0.1-fix-16bpp.patch diff --git a/mesa-8.0.1-fix-16bpp.patch b/mesa-8.0.1-fix-16bpp.patch new file mode 100644 index 0000000..4e3977b --- /dev/null +++ b/mesa-8.0.1-fix-16bpp.patch @@ -0,0 +1,27 @@ +diff -up Mesa-8.0.1/src/glx/drisw_glx.c.jx Mesa-8.0.1/src/glx/drisw_glx.c +--- Mesa-8.0.1/src/glx/drisw_glx.c.jx 2012-04-02 10:34:23.000000000 -0400 ++++ Mesa-8.0.1/src/glx/drisw_glx.c 2012-04-02 11:44:19.296407735 -0400 +@@ -274,7 +274,9 @@ swrastShmGetImage(__DRIdrawable *read, c + do { + int i; + char *src = ximage->data; +- int dst_width = align(ximage->width * ximage->bits_per_pixel / 8, 256); ++ int bytes_per_pixel = ((ximage->bits_per_pixel + 7) / 8); ++ int dst_width = align(ximage->width * bytes_per_pixel, ++ 64 * bytes_per_pixel); + + for (i = 0; i < ximage->height; i++) { + memcpy(data, src, ximage->bytes_per_line); +diff -up Mesa-8.0.1/src/mesa/state_tracker/st_manager.c.jx Mesa-8.0.1/src/mesa/state_tracker/st_manager.c +--- Mesa-8.0.1/src/mesa/state_tracker/st_manager.c.jx 2012-02-14 18:44:00.000000000 -0500 ++++ Mesa-8.0.1/src/mesa/state_tracker/st_manager.c 2012-04-02 12:02:14.613964417 -0400 +@@ -528,6 +528,9 @@ st_context_teximage(struct st_context_if + if (util_format_get_component_bits(internal_format, + UTIL_FORMAT_COLORSPACE_RGB, 3) > 0) + internalFormat = GL_RGBA; ++ else if (util_format_get_component_bits(internal_format, ++ UTIL_FORMAT_COLORSPACE_RGB, 0) == 5) ++ internalFormat = GL_RGB5; + else + internalFormat = GL_RGB; + diff --git a/mesa.spec b/mesa.spec index 08da9bc..8d2d3fa 100644 --- a/mesa.spec +++ b/mesa.spec @@ -30,7 +30,7 @@ Summary: Mesa graphics libraries Name: mesa Version: 8.0.2 -Release: 1%{?dist} +Release: 2%{?dist} License: MIT Group: System Environment/Libraries URL: http://www.mesa3d.org @@ -47,7 +47,7 @@ Patch8: mesa-7.10-llvmcore.patch Patch9: mesa-8.0-llvmpipe-shmget.patch Patch10: 0001-intel-fix-null-dereference-processing-HiZ-buffer.patch Patch11: mesa-8.0-nouveau-tfp-blacklist.patch - +Patch12: mesa-8.0.1-fix-16bpp.patch BuildRequires: pkgconfig autoconf automake libtool %if %{with_hardware} @@ -277,6 +277,7 @@ Mesa shared glapi %patch9 -p1 -b .shmget %patch10 -p1 -b .intel-hiz-fix %patch11 -p1 -b .nouveau +%patch12 -p1 -b .16bpp %build @@ -349,11 +350,7 @@ done | xargs install -m 0755 -t $RPM_BUILD_ROOT%{_libdir}/dri >& /dev/null || : # strip out undesirable headers pushd $RPM_BUILD_ROOT%{_includedir}/GL -rm -f [a-fh-np-wyz]*.h glf*.h glut*.h -popd - -pushd $RPM_BUILD_ROOT%{_libdir} -rm -f xorg/modules/drivers/modesetting_drv.so +rm -f [vw]*.h popd # man pages @@ -552,6 +549,9 @@ rm -rf $RPM_BUILD_ROOT %endif %changelog +* Mon Apr 02 2012 Adam Jackson 8.0.2-2 +- mesa-8.0.1-fix-16bpp.patch: Fix 16bpp in llvmpipe + * Sat Mar 31 2012 Dave Airlie 8.0.2-1 - get latest 8.0.2 set of fixes