debian/changelog | 12 + debian/control | 2 debian/patches/103_savage-expose_fbmodes_with_nonzero_alpha.patch | 94 ++++++++++ debian/patches/series | 1 4 files changed, 108 insertions(+), 1 deletion(-)
New commits: commit 422c6b06caeef4e194551ca1ff28eb3b83b52afa Author: Bryce Harrington <br...@bryceharrington.org> Date: Thu Apr 15 00:14:51 2010 -0700 savage patch diff --git a/debian/patches/103_savage-expose_fbmodes_with_nonzero_alpha.patch b/debian/patches/103_savage-expose_fbmodes_with_nonzero_alpha.patch new file mode 100644 index 0000000..ce65a1c --- /dev/null +++ b/debian/patches/103_savage-expose_fbmodes_with_nonzero_alpha.patch @@ -0,0 +1,94 @@ +--- mesa-7.7.orig/src/mesa/drivers/dri/savage/savage_xmesa.c ++++ mesa-7.7/src/mesa/drivers/dri/savage/savage_xmesa.c +@@ -63,6 +63,8 @@ + + #include "xmlpool.h" + ++#define ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0])) ++ + /* Driver-specific options + */ + #define SAVAGE_ENABLE_VDMA(def) \ +@@ -888,29 +890,30 @@ savageFillInModes( __DRIscreenPrivate *p + unsigned stencil_bits, GLboolean have_back_buffer ) + { + __DRIconfig **configs; ++ __DRIconfig **configs_a8r8g8b8; ++ __DRIconfig **configs_x8r8g8b8; + __GLcontextModes * m; + unsigned depth_buffer_factor; + unsigned back_buffer_factor; +- GLenum fb_format; +- GLenum fb_type; ++ uint8_t depth_bits_array[2]; ++ uint8_t stencil_bits_array[2]; ++ uint8_t msaa_samples_array[1]; + int i; + + /* Right now GLX_SWAP_COPY_OML isn't supported, but it would be easy + * enough to add support. Basically, if a context is created with an + * fbconfig where the swap method is GLX_SWAP_COPY_OML, pageflipping + * will never be used. +- * +- * FK: What about drivers that don't use page flipping? Could they +- * just expose GLX_SWAP_COPY_OML? + */ + static const GLenum back_buffer_modes[] = { + GLX_NONE, GLX_SWAP_UNDEFINED_OML /*, GLX_SWAP_COPY_OML */ + }; + +- uint8_t depth_bits_array[2]; +- uint8_t stencil_bits_array[2]; +- uint8_t msaa_samples_array[1]; +- ++ /* This being a DRI1 driver the depth buffer is always allocated, ++ * so it does not make sense to expose visuals without it. If this ++ * driver ever gets ported to DRI2 the first array value should be ++ * changed to 0 to expose modes without a depth buffer. ++ */ + depth_bits_array[0] = depth_bits; + depth_bits_array[1] = depth_bits; + +@@ -925,21 +928,32 @@ savageFillInModes( __DRIscreenPrivate *p + + depth_buffer_factor = ((depth_bits != 0) || (stencil_bits != 0)) ? 2 : 1; + back_buffer_factor = (have_back_buffer) ? 2 : 1; +- ++ + if ( pixel_bits == 16 ) { +- fb_format = GL_RGB; +- fb_type = GL_UNSIGNED_SHORT_5_6_5; ++ configs = driCreateConfigs(GL_RGB, GL_UNSIGNED_SHORT_5_6_5, ++ depth_bits_array, stencil_bits_array, ++ depth_buffer_factor, ++ back_buffer_modes, back_buffer_factor, ++ msaa_samples_array, 1); + } + else { +- fb_format = GL_BGR; +- fb_type = GL_UNSIGNED_INT_8_8_8_8_REV; ++ configs_a8r8g8b8 = driCreateConfigs(GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV, ++ depth_bits_array, ++ stencil_bits_array, ++ depth_buffer_factor, ++ back_buffer_modes, ++ back_buffer_factor, ++ msaa_samples_array, 1); ++ configs_x8r8g8b8 = driCreateConfigs(GL_BGR, GL_UNSIGNED_INT_8_8_8_8_REV, ++ depth_bits_array, ++ stencil_bits_array, ++ depth_buffer_factor, ++ back_buffer_modes, ++ back_buffer_factor, ++ msaa_samples_array, 1); ++ configs = driConcatConfigs(configs_a8r8g8b8, configs_x8r8g8b8); + } + +- configs = driCreateConfigs(fb_format, fb_type, +- depth_bits_array, stencil_bits_array, +- depth_buffer_factor, +- back_buffer_modes, back_buffer_factor, +- msaa_samples_array, 1); + if (configs == NULL) { + fprintf( stderr, "[%s:%u] Error creating FBConfig!\n", + __func__, __LINE__ ); commit 6b716825548bf7678dc25bbc872e11ed0fb6adc7 Author: Bryce Harrington <br...@bryceharrington.org> Date: Thu Apr 15 00:14:08 2010 -0700 Fix savage diff --git a/debian/changelog b/debian/changelog index bb85f35..a7b359f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,15 @@ +mesa (7.7.1-1ubuntu2) lucid; urgency=low + + * Add 103_savage-expose_fbmodes_with_nonzero_alpha.patch: Expose + fbmodes with non-zero alpha depth. Fixes issue where clutter apps + crash when using the savage driver. Thanks to knarf for developing + the fix. + (LP: #467474) + * mesa-common-dev should depend on libdrm-dev + (LP: #490811) + + -- Bryce Harrington <br...@ubuntu.com> Wed, 14 Apr 2010 12:06:00 -0700 + mesa (7.7.1-1ubuntu1) lucid; urgency=low [ Alberto Milone ] diff --git a/debian/control b/debian/control index 0cdb7eb..6a6f156 100644 --- a/debian/control +++ b/debian/control @@ -245,7 +245,7 @@ Package: mesa-common-dev Section: libdevel Architecture: any Replaces: xlibmesa-gl-dev (<< 1:7), xlibosmesa-dev, libgl1-mesa-swx11-dev (<< 6.5.2), libgl1-mesa-dev (<< 7.5~rc4-2) -Depends: libx11-dev +Depends: libx11-dev, libdrm-dev Description: Developer documentation for Mesa This package includes the specifications for the Mesa-specific OpenGL extensions, the complete set of release notes and the development header diff --git a/debian/patches/series b/debian/patches/series index 536e86e..8a6809d 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -7,3 +7,4 @@ 101_ubuntu_hidden_glname.patch 102_dont_vblank.diff 107_glxgears_is_not_a_benchmark.patch +103_savage-expose_fbmodes_with_nonzero_alpha.patch -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1o2ji0-0001ae...@alioth.debian.org