mesa: Changes to 'ubuntu'
Makefile | 9
bin/mklib | 28
configure.ac | 49
debian/changelog | 34
debian/patches/103_bump_965_texture_limit.diff | 33
debian/patches/103_rs600_support.patch | 65
debian/patches/104_fix_dri2_ext_tfp.diff | 337 +++
debian/patches/110_fix_intel_965_atunnel_rendering_glitch.diff | 204 --
debian/patches/series | 4
debian/rules | 15
debian/watch | 1
docs/download.html | 4
docs/news.html | 7
docs/relnotes-7.3.html | 12
docs/relnotes-7.4.html | 81
docs/relnotes.html | 1
docs/xlibdriver.html | 16
include/GL/gl.h | 2
include/GL/gl_mangle.h | 298 +++
include/GL/glext.h | 130 +
progs/glsl/multitex.c | 88 -
progs/glsl/multitex.vert | 10
progs/util/extfuncs.h | 15
progs/xdemos/Makefile | 2
progs/xdemos/glxgears.c | 74
progs/xdemos/glxpixmap.c | 1
progs/xdemos/manywin.c | 2
src/glx/x11/dri2_glx.c | 61
src/glx/x11/dri_glx.c | 2
src/glx/x11/glxclient.h | 2
src/glx/x11/glxcmds.c | 24
src/glx/x11/indirect_vertex_program.c | 4
src/glx/x11/pixelstore.c | 4
src/mesa/drivers/dri/common/texmem.c | 10
src/mesa/drivers/dri/gamma/gamma_tex.c | 8
src/mesa/drivers/dri/i915/Makefile | 2
src/mesa/drivers/dri/i915/i915_state.c | 71
src/mesa/drivers/dri/i915/intel_clear.c | 1
src/mesa/drivers/dri/i915/intel_state.c | 64
src/mesa/drivers/dri/i915/intel_swapbuffers.c | 1
src/mesa/drivers/dri/i915/intel_tris.c | 4
src/mesa/drivers/dri/i965/Makefile | 3
src/mesa/drivers/dri/i965/brw_cc.c | 67
src/mesa/drivers/dri/i965/brw_clip.c | 40
src/mesa/drivers/dri/i965/brw_clip_line.c | 66
src/mesa/drivers/dri/i965/brw_clip_tri.c | 76
src/mesa/drivers/dri/i965/brw_context.c | 29
src/mesa/drivers/dri/i965/brw_context.h | 51
src/mesa/drivers/dri/i965/brw_curbe.c | 15
src/mesa/drivers/dri/i965/brw_draw.c | 85
src/mesa/drivers/dri/i965/brw_eu.c | 123 +
src/mesa/drivers/dri/i965/brw_eu.h | 18
src/mesa/drivers/dri/i965/brw_fallback.c | 16
src/mesa/drivers/dri/i965/brw_metaops.c | 583 ------
src/mesa/drivers/dri/i965/brw_misc_state.c | 59
src/mesa/drivers/dri/i965/brw_sf.c | 22
src/mesa/drivers/dri/i965/brw_sf_emit.c | 32
src/mesa/drivers/dri/i965/brw_sf_state.c | 71
src/mesa/drivers/dri/i965/brw_state_upload.c | 10
src/mesa/drivers/dri/i965/brw_tex.c | 3
src/mesa/drivers/dri/i965/brw_vs.c | 14
src/mesa/drivers/dri/i965/brw_vs.h | 1
src/mesa/drivers/dri/i965/brw_vs_constval.c | 3
src/mesa/drivers/dri/i965/brw_vs_emit.c | 88 -
src/mesa/drivers/dri/i965/brw_vs_state.c | 4
src/mesa/drivers/dri/i965/brw_vtbl.c | 1
src/mesa/drivers/dri/i965/brw_wm.c | 50
src/mesa/drivers/dri/i965/brw_wm.h | 15
src/mesa/drivers/dri/i965/brw_wm_debug.c | 3
src/mesa/drivers/dri/i965/brw_wm_emit.c | 32
src/mesa/drivers/dri/i965/brw_wm_fp.c | 208 +-
src/mesa/drivers/dri/i965/brw_wm_glsl.c | 138 +
src/mesa/drivers/dri/i965/brw_wm_pass0.c | 14
src/mesa/drivers/dri/i965/brw_wm_pass1.c | 1
src/mesa/drivers/dri/i965/brw_wm_sampler_state.c | 30
src/mesa/drivers/dri/i965/brw_wm_state.c | 18
src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 14
src/mesa/drivers/dri/i965/intel_clear.c | 1
src/mesa/drivers/dri/i965/intel_state.c | 42
src/mesa/drivers/dri/i965/intel_swapbuffers.c | 1
src/mesa/drivers/dri/intel/intel_blit.c | 2
src/mesa/drivers/dri/intel/intel_buffers.c | 418 ----
src/mesa/drivers/dri/intel/intel_buffers.h | 7
src/mesa/drivers/dri/intel/intel_chipset.h | 11
src/mesa/drivers/dri/intel/intel_clear.c | 393 ++++
src/mesa/drivers/dri/intel/intel_clear.h | 38
src/mesa/drivers/dri/intel/intel_context.c | 49
src/mesa/drivers/dri/intel/intel_context.h | 10
src/mesa/drivers/dri/intel/intel_decode.c | 47
src/mesa/drivers/dri/intel/intel_fbo.c | 3
src/mesa/drivers/dri/intel/intel_mipmap_tree.c | 6
src/mesa/drivers/dri/intel/intel_mipmap_tree.h | 3
src/mesa/drivers/dri/intel/intel_pixel.c | 9
src/mesa/drivers/dri/intel/intel_pixel.h | 2
src/mesa/drivers/dri/intel/intel_pixel_bitmap.c | 1
src/mesa/drivers/dri/intel/intel_pixel_draw.c | 26
src/mesa/drivers/dri/intel/intel_regions.c | 12
src/mesa/drivers/dri/intel/intel_regions.h | 3
src/mesa/drivers/dri/intel/intel_screen.c | 5
src/mesa/drivers/dri/intel/intel_screen.h | 9
src/mesa/drivers/dri/intel/intel_swapbuffers.c | 243 ++
src/mesa/drivers/dri/intel/intel_swapbuffers.h | 52
src/mesa/drivers/dri/intel/intel_tex_copy.c | 3
src/mesa/drivers/dri/intel/intel_tex_image.c | 19
src/mesa/drivers/dri/intel/intel_tex_validate.c | 3
src/mesa/drivers/dri/mga/mga_texstate.c | 8
src/mesa/drivers/dri/r300/r300_render.c | 16
src/mesa/drivers/dri/r300/r300_state.c | 42
src/mesa/drivers/dri/r300/r300_swtcl.c | 4
src/mesa/drivers/dri/radeon/radeon_chipset.h | 4
src/mesa/drivers/dri/radeon/radeon_screen.c | 10
src/mesa/drivers/dri/s3v/s3v_tex.c | 8
src/mesa/drivers/dri/swrast/swrast.c | 76
src/mesa/drivers/dri/swrast/swrast_priv.h | 10
src/mesa/drivers/dri/swrast/swrast_span.c | 72
src/mesa/drivers/dri/tdfx/tdfx_dd.c | 8
src/mesa/drivers/x11/fakeglx.c | 45
src/mesa/drivers/x11/glxapi.c | 5
src/mesa/drivers/x11/xm_api.c | 6
src/mesa/drivers/x11/xm_buffer.c | 1
src/mesa/glapi/glapi_getproc.c | 8
src/mesa/glapi/glthread.h | 12
src/mesa/main/api_validate.c | 15
src/mesa/main/attrib.c | 41
src/mesa/main/bufferobj.c | 20
src/mesa/main/buffers.c | 5
src/mesa/main/config.h | 2
src/mesa/main/context.c | 83
src/mesa/main/dlopen.c | 9
src/mesa/main/enable.c | 7
src/mesa/main/execmem.c | 2
src/mesa/main/extensions.c | 8
src/mesa/main/framebuffer.c | 1
src/mesa/main/get.c | 42
src/mesa/main/get_gen.py | 14
src/mesa/main/getstring.c | 13
src/mesa/main/hash.c | 2
src/mesa/main/imports.c | 15
src/mesa/main/imports.h | 6
src/mesa/main/mtypes.h | 68
src/mesa/main/state.c | 95 -
src/mesa/main/stencil.c | 102 -
src/mesa/main/texenv.c | 339 +--
src/mesa/main/texformat_tmp.h | 8
src/mesa/main/teximage.c | 19
src/mesa/main/texobj.c | 129 -
src/mesa/main/texparam.c | 857 +++++-----
src/mesa/main/texrender.c | 54
src/mesa/main/texstate.c | 121 -
src/mesa/main/version.h | 6
src/mesa/shader/prog_instruction.h | 16
src/mesa/shader/prog_print.c | 13
src/mesa/shader/program.c | 9
src/mesa/shader/shader_api.c | 271 ++-
src/mesa/shader/slang/slang_codegen.c | 4
src/mesa/shader/slang/slang_compile.c | 2
src/mesa/shader/slang/slang_emit.c | 63
src/mesa/shader/slang/slang_link.c | 38
src/mesa/shader/slang/slang_vartable.c | 59
src/mesa/swrast/s_fragprog.c | 54
src/mesa/swrast/s_span.c | 12
src/mesa/swrast/s_stencil.c | 6
src/mesa/swrast/s_triangle.c | 21
src/mesa/tnl/t_context.c | 14
src/mesa/vbo/vbo_exec_api.c | 5
src/mesa/vbo/vbo_exec_draw.c | 13
src/mesa/vbo/vbo_save_draw.c | 18
src/mesa/x86/gen_matypes.c | 4
168 files changed, 4897 insertions(+), 3344 deletions(-)
New commits:
commit c81a66829b8aad65452186ae1306e77e03c8bdb6
Author: Timo Aaltonen <tjaalton@cc.hut.fi>
Date: Fri Apr 3 12:42:20 2009 +0300
Release 7.4-0ubuntu1
close a couple of bugs too.
diff --git a/debian/changelog b/debian/changelog
index 50094a2..4c19f71 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,12 +1,13 @@
-mesa (7.4-0ubuntu1) UNRELEASED; urgency=low
+mesa (7.4-0ubuntu1) jaunty; urgency=low
- * New upstream release, merge from debian-experimental (LP: #330476)
+ * New upstream release, merge from debian-experimental
+ (LP: #330476, #347171, #349127)
* Drop 103_rs600_support.patch, included in this version.
* Drop 104_swrast_fbconfigs.patch, included in this version.
* Add 103_bump_965_texture_limit.diff. (LP: #146298)
* Add 104_fix_dri2_ext_tfp.diff. (LP: #324854)
- -- Timo Aaltonen <tjaalton@ubuntu.com> Mon, 30 Mar 2009 10:47:38 +0300
+ -- Timo Aaltonen <tjaalton@ubuntu.com> Fri, 03 Apr 2009 12:42:06 +0300
mesa (7.4~rc1-1) experimental; urgency=low
commit 34a2b141da04ed1e15ee623f8e7576374ca31ff3
Author: Timo Aaltonen <tjaalton@cc.hut.fi>
Date: Fri Apr 3 11:51:31 2009 +0300
Add 104_fix_dri2_ext_tfp.diff. (LP: #324854)
diff --git a/debian/changelog b/debian/changelog
index 1b9be7e..50094a2 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,6 +4,7 @@ mesa (7.4-0ubuntu1) UNRELEASED; urgency=low
* Drop 103_rs600_support.patch, included in this version.
* Drop 104_swrast_fbconfigs.patch, included in this version.
* Add 103_bump_965_texture_limit.diff. (LP: #146298)
+ * Add 104_fix_dri2_ext_tfp.diff. (LP: #324854)
-- Timo Aaltonen <tjaalton@ubuntu.com> Mon, 30 Mar 2009 10:47:38 +0300
diff --git a/debian/patches/104_fix_dri2_ext_tfp.diff b/debian/patches/104_fix_dri2_ext_tfp.diff
new file mode 100644
index 0000000..75cad56
--- /dev/null
+++ b/debian/patches/104_fix_dri2_ext_tfp.diff
@@ -0,0 +1,337 @@
+Index: mesa/include/GL/internal/dri_interface.h
+===================================================================
+--- mesa.orig/include/GL/internal/dri_interface.h 2009-01-25 17:28:10.000000000 +0200
++++ mesa/include/GL/internal/dri_interface.h 2009-04-03 11:45:43.000000000 +0300
+@@ -230,7 +230,7 @@
+
+
+ #define __DRI_TEX_BUFFER "DRI_TexBuffer"
+-#define __DRI_TEX_BUFFER_VERSION 1
++#define __DRI_TEX_BUFFER_VERSION 2
+ struct __DRItexBufferExtensionRec {
+ __DRIextension base;
+
+@@ -238,11 +238,23 @@
+ * Method to override base texture image with the contents of a
+ * __DRIdrawable.
+ *
+- * For GLX_EXT_texture_from_pixmap with AIGLX.
++ * For GLX_EXT_texture_from_pixmap with AIGLX. Deprecated in favor of
++ * setTexBuffer2 in version 2 of this interface
+ */
+ void (*setTexBuffer)(__DRIcontext *pDRICtx,
+ GLint target,
+ __DRIdrawable *pDraw);
++
++ /**
++ * Method to override base texture image with the contents of a
++ * __DRIdrawable, including the required texture format attribute.
++ *
++ * For GLX_EXT_texture_from_pixmap with AIGLX.
++ */
++ void (*setTexBuffer2)(__DRIcontext *pDRICtx,
++ GLint target,
++ GLint format,
++ __DRIdrawable *pDraw);
+ };
+
+
+Index: mesa/include/GL/internal/glcore.h
+===================================================================
+--- mesa.orig/include/GL/internal/glcore.h 2009-01-16 21:37:10.000000000 +0200
++++ mesa/include/GL/internal/glcore.h 2009-04-03 11:45:43.000000000 +0300
+@@ -176,4 +176,8 @@
+ #define GLX_TEXTURE_2D_BIT_EXT 0x00000002
+ #define GLX_TEXTURE_RECTANGLE_BIT_EXT 0x00000004
+
++#define GLX_TEXTURE_FORMAT_NONE_EXT 0x20D8
++#define GLX_TEXTURE_FORMAT_RGB_EXT 0x20D9
++#define GLX_TEXTURE_FORMAT_RGBA_EXT 0x20DA
++
+ #endif /* __gl_core_h_ */
+Index: mesa/src/glx/x11/glx_pbuffer.c
+===================================================================
+--- mesa.orig/src/glx/x11/glx_pbuffer.c 2009-01-16 23:12:40.000000000 +0200
++++ mesa/src/glx/x11/glx_pbuffer.c 2009-04-03 11:45:43.000000000 +0300
+@@ -189,6 +189,21 @@
+
+ return target;
+ }
++
++
++static GLenum
++determineTextureFormat(const int *attribs, int numAttribs)
++{
++ GLenum target = 0;
++ int i;
++
++ for (i = 0; i < numAttribs; i++) {
++ if (attribs[2 * i] == GLX_TEXTURE_FORMAT_EXT)
++ return attribs[2 * i + 1];
++ }
++
++ return 0;
++}
+ #endif
+
+ /**
+@@ -294,6 +309,9 @@
+ if (pdraw != NULL && !pdraw->textureTarget)
+ pdraw->textureTarget =
+ determineTextureTarget((const int *) data, num_attributes);
++ if (pdraw != NULL && !pdraw->textureFormat)
++ pdraw->textureFormat =
++ determineTextureFormat((const int *) data, num_attributes);
+ }
+ #endif
+
+@@ -374,6 +392,7 @@
+ }
+
+ pdraw->textureTarget = determineTextureTarget(attrib_list, i);
++ pdraw->textureFormat = determineTextureFormat(attrib_list, i);
+ } while (0);
+ #endif
+
+Index: mesa/src/glx/x11/glxclient.h
+===================================================================
+--- mesa.orig/src/glx/x11/glxclient.h 2009-03-30 10:47:17.000000000 +0300
++++ mesa/src/glx/x11/glxclient.h 2009-04-03 11:45:43.000000000 +0300
+@@ -161,6 +161,7 @@
+ __GLXscreenConfigs *psc;
+ GLenum textureTarget;
+ __DRIdrawable *driDrawable;
++ GLenum textureFormat; /* EXT_texture_from_pixmap support */
+ };
+
+ /*
+Index: mesa/src/glx/x11/glxcmds.c
+===================================================================
+--- mesa.orig/src/glx/x11/glxcmds.c 2009-03-30 10:34:15.000000000 +0300
++++ mesa/src/glx/x11/glxcmds.c 2009-04-03 11:45:43.000000000 +0300
+@@ -2631,11 +2631,19 @@
+ if (gc->driContext) {
+ __GLXDRIdrawable *pdraw = GetGLXDRIDrawable(dpy, drawable, NULL);
+
+- if (pdraw != NULL)
+- (*pdraw->psc->texBuffer->setTexBuffer)(gc->__driContext,
+- pdraw->textureTarget,
+- pdraw->driDrawable);
+-
++ if (pdraw != NULL) {
++ if (pdraw->psc->texBuffer->base.version >= 2 &&
++ pdraw->psc->texBuffer->setTexBuffer2 != NULL) {
++ (*pdraw->psc->texBuffer->setTexBuffer2)(gc->__driContext,
++ pdraw->textureTarget,
++ pdraw->textureFormat,
++ pdraw->driDrawable);
++ } else {
++ (*pdraw->psc->texBuffer->setTexBuffer)(gc->__driContext,
++ pdraw->textureTarget,
++ pdraw->driDrawable);
++ }
++ }
+ return;
+ }
+ #endif
+Index: mesa/src/mesa/drivers/dri/i915/i830_texstate.c
+===================================================================
+--- mesa.orig/src/mesa/drivers/dri/i915/i830_texstate.c 2009-01-16 21:37:10.000000000 +0200
++++ mesa/src/mesa/drivers/dri/i915/i830_texstate.c 2009-04-03 11:45:43.000000000 +0300
+@@ -38,7 +38,7 @@
+
+
+ static GLuint
+-translate_texture_format(GLuint mesa_format)
++translate_texture_format(GLuint mesa_format, GLuint internal_format)
+ {
+ switch (mesa_format) {
+ case MESA_FORMAT_L8:
+@@ -56,7 +56,10 @@
+ case MESA_FORMAT_ARGB4444:
+ return MAPSURF_16BIT | MT_16BIT_ARGB4444;
+ case MESA_FORMAT_ARGB8888:
+- return MAPSURF_32BIT | MT_32BIT_ARGB8888;
++ if (internal_format == GL_RGB)
++ return MAPSURF_32BIT | MT_32BIT_XRGB8888;
++ else
++ return MAPSURF_32BIT | MT_32BIT_ARGB8888;
+ case MESA_FORMAT_YCBCR_REV:
+ return (MAPSURF_422 | MT_422_YCRCB_NORMAL);
+ case MESA_FORMAT_YCBCR:
+@@ -162,7 +165,8 @@
+ 0, intelObj->
+ firstLevel);
+
+- format = translate_texture_format(firstImage->TexFormat->MesaFormat);
++ format = translate_texture_format(firstImage->TexFormat->MesaFormat,
++ firstImage->InternalFormat);
+ pitch = intelObj->mt->pitch * intelObj->mt->cpp;
+ }
+
+Index: mesa/src/mesa/drivers/dri/i915/i915_texstate.c
+===================================================================
+--- mesa.orig/src/mesa/drivers/dri/i915/i915_texstate.c 2009-01-16 21:40:22.000000000 +0200
++++ mesa/src/mesa/drivers/dri/i915/i915_texstate.c 2009-04-03 11:45:43.000000000 +0300
+@@ -37,7 +37,8 @@
+
+
+ static GLuint
+-translate_texture_format(GLuint mesa_format, GLenum DepthMode)
++translate_texture_format(GLuint mesa_format, GLuint internal_format,
++ GLenum DepthMode)
+ {
+ switch (mesa_format) {
+ case MESA_FORMAT_L8:
+@@ -55,7 +56,10 @@
+ case MESA_FORMAT_ARGB4444:
+ return MAPSURF_16BIT | MT_16BIT_ARGB4444;
+ case MESA_FORMAT_ARGB8888:
+- return MAPSURF_32BIT | MT_32BIT_ARGB8888;
++ if (internal_format == GL_RGB)
++ return MAPSURF_32BIT | MT_32BIT_XRGB8888;
++ else
++ return MAPSURF_32BIT | MT_32BIT_ARGB8888;
+ case MESA_FORMAT_YCBCR_REV:
+ return (MAPSURF_422 | MT_422_YCRCB_NORMAL);
+ case MESA_FORMAT_YCBCR:
+@@ -173,7 +177,8 @@
+ firstLevel);
+
+ format = translate_texture_format(firstImage->TexFormat->MesaFormat,
+- tObj->DepthMode);
++ firstImage->InternalFormat,
++ tObj->DepthMode);
+ pitch = intelObj->mt->pitch * intelObj->mt->cpp;
+ }
+
+Index: mesa/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
+===================================================================
+--- mesa.orig/src/mesa/drivers/dri/i965/brw_wm_surface_state.c 2009-03-30 10:34:15.000000000 +0300
++++ mesa/src/mesa/drivers/dri/i965/brw_wm_surface_state.c 2009-04-03 11:45:43.000000000 +0300
+@@ -69,7 +69,8 @@
+ }
+
+
+-static GLuint translate_tex_format( GLuint mesa_format, GLenum depth_mode )
++static GLuint translate_tex_format( GLuint mesa_format, GLenum internal_format,
++ GLenum depth_mode )
+ {
+ switch( mesa_format ) {
+ case MESA_FORMAT_L8:
+@@ -89,10 +90,16 @@
+ return BRW_SURFACEFORMAT_R8G8B8_UNORM;
+
+ case MESA_FORMAT_ARGB8888:
+- return BRW_SURFACEFORMAT_B8G8R8A8_UNORM;
++ if (internal_format == GL_RGB)
++ return BRW_SURFACEFORMAT_B8G8R8X8_UNORM;
++ else
++ return BRW_SURFACEFORMAT_B8G8R8A8_UNORM;
+
+ case MESA_FORMAT_RGBA8888_REV:
+- return BRW_SURFACEFORMAT_R8G8B8A8_UNORM;
++ if (internal_format == GL_RGB)
++ return BRW_SURFACEFORMAT_R8G8B8X8_UNORM;
++ else
++ return BRW_SURFACEFORMAT_R8G8B8A8_UNORM;
+
+ case MESA_FORMAT_RGB565:
+ return BRW_SURFACEFORMAT_B5G6R5_UNORM;
+@@ -150,7 +157,7 @@
+ struct brw_wm_surface_key {
+ GLenum target, depthmode;
+ dri_bo *bo;
+- GLint format;
++ GLint format, internal_format;
+ GLint first_level, last_level;
+ GLint width, height, depth;
+ GLint pitch, cpp;
+@@ -188,9 +195,11 @@
+
+ surf.ss0.mipmap_layout_mode = BRW_SURFACE_MIPMAPLAYOUT_BELOW;
+ surf.ss0.surface_type = translate_tex_target(key->target);
+-
+- if (key->bo)
+- surf.ss0.surface_format = translate_tex_format(key->format, key->depthmode);
++ if (key->bo) {
++ surf.ss0.surface_format = translate_tex_format(key->format,
++ key->internal_format,
++ key->depthmode);
++ }
+ else {
+ switch (key->depth) {
+ case 32:
+@@ -267,6 +276,7 @@
+ key.offset = intelObj->textureOffset;
+ } else {
+ key.format = firstImage->TexFormat->MesaFormat;
++ key.internal_format = firstImage->InternalFormat;
+ key.pitch = intelObj->mt->pitch;
+ key.depth = firstImage->Depth;
+ key.bo = intelObj->mt->region->buffer;
+Index: mesa/src/mesa/drivers/dri/intel/intel_screen.c
+===================================================================
+--- mesa.orig/src/mesa/drivers/dri/intel/intel_screen.c 2009-04-03 11:45:43.000000000 +0300
++++ mesa/src/mesa/drivers/dri/intel/intel_screen.c 2009-04-03 11:45:43.000000000 +0300
+@@ -210,6 +210,7 @@
+ static const __DRItexBufferExtension intelTexBufferExtension = {
+ { __DRI_TEX_BUFFER, __DRI_TEX_BUFFER_VERSION },
+ intelSetTexBuffer,
++ intelSetTexBuffer2,
+ };
+
+ static const __DRIextension *intelScreenExtensions[] = {
+Index: mesa/src/mesa/drivers/dri/intel/intel_tex.h
+===================================================================
+--- mesa.orig/src/mesa/drivers/dri/intel/intel_tex.h 2009-01-16 21:40:22.000000000 +0200
++++ mesa/src/mesa/drivers/dri/intel/intel_tex.h 2009-04-03 11:45:43.000000000 +0300
+@@ -149,6 +149,8 @@
+ unsigned long long offset, GLint depth, GLuint pitch);
+ void intelSetTexBuffer(__DRIcontext *pDRICtx,
+ GLint target, __DRIdrawable *pDraw);
++void intelSetTexBuffer2(__DRIcontext *pDRICtx,
++ GLint target, GLint format, __DRIdrawable *pDraw);
+
+ GLuint intel_finalize_mipmap_tree(struct intel_context *intel, GLuint unit);
+
+Index: mesa/src/mesa/drivers/dri/intel/intel_tex_image.c
+===================================================================
+--- mesa.orig/src/mesa/drivers/dri/intel/intel_tex_image.c 2009-03-30 10:34:15.000000000 +0300
++++ mesa/src/mesa/drivers/dri/intel/intel_tex_image.c 2009-04-03 11:45:43.000000000 +0300
+@@ -712,7 +712,9 @@
+ }
+
+ void
+-intelSetTexBuffer(__DRIcontext *pDRICtx, GLint target, __DRIdrawable *dPriv)
++intelSetTexBuffer2(__DRIcontext *pDRICtx, GLint target,
++ GLint glx_texture_format,
++ __DRIdrawable *dPriv)
+ {
+ struct intel_framebuffer *intel_fb = dPriv->driverPrivate;
+ struct intel_context *intel = pDRICtx->driverPrivate;
+@@ -743,7 +745,10 @@
+
+ type = GL_BGRA;
+ format = GL_UNSIGNED_BYTE;
+- internalFormat = (rb->region->cpp == 3 ? 3 : 4);
++ if (glx_texture_format == GLX_TEXTURE_FORMAT_RGB_EXT)
++ internalFormat = GL_RGB;
++ else
++ internalFormat = GL_RGBA;
+
+ mt = intel_miptree_create_for_region(intel, target,
+ internalFormat,
+@@ -783,3 +788,12 @@
+
+ _mesa_unlock_texture(&intel->ctx, texObj);
+ }
++
++void
++intelSetTexBuffer(__DRIcontext *pDRICtx, GLint target, __DRIdrawable *dPriv)
++{
++ /* The old interface didn't have the format argument, so copy our
++ * implementation's behavior at the time.
++ */
++ intelSetTexBuffer2(pDRICtx, target, GLX_TEXTURE_FORMAT_RGBA_EXT, dPriv);
++}
diff --git a/debian/patches/series b/debian/patches/series
index 6ea0051..cb1c95b 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -4,3 +4,4 @@
101_ubuntu_hidden_glname.patch
102_dont_vblank.diff
103_bump_965_texture_limit.diff
+104_fix_dri2_ext_tfp.diff
commit 57c98f140d6181e48ce8a2f093b46960080bcb24
Author: Timo Aaltonen <tjaalton@cc.hut.fi>
Date: Fri Apr 3 11:45:24 2009 +0300
Add 103_bump_965_texture_limit.diff. (LP: #146298)
diff --git a/debian/changelog b/debian/changelog
index ed912fd..1b9be7e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,6 +3,7 @@ mesa (7.4-0ubuntu1) UNRELEASED; urgency=low
* New upstream release, merge from debian-experimental (LP: #330476)
* Drop 103_rs600_support.patch, included in this version.
* Drop 104_swrast_fbconfigs.patch, included in this version.
+ * Add 103_bump_965_texture_limit.diff. (LP: #146298)
-- Timo Aaltonen <tjaalton@ubuntu.com> Mon, 30 Mar 2009 10:47:38 +0300
diff --git a/debian/patches/103_bump_965_texture_limit.diff b/debian/patches/103_bump_965_texture_limit.diff
new file mode 100644
index 0000000..385c7d4
--- /dev/null
+++ b/debian/patches/103_bump_965_texture_limit.diff
@@ -0,0 +1,33 @@
+commit 954dfba12986f578f2d8461818f9e9ac1f8f2b41
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Jan 30 21:51:32 2009 -0800
+
+ i965: bump texture limit to 4kx4k
+
+ Rendering and textures are limited to 8kx8k, but mesa limits things to
+ 4kx4k, and magic guard band stuff may break on 8kx8k drawing. This is safe
+ though, and makes compiz work on bigger screens.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c
+index d7a2bd9..d66781f 100644
+--- a/src/mesa/drivers/dri/i965/brw_context.c
++++ b/src/mesa/drivers/dri/i965/brw_context.c
+@@ -135,13 +135,12 @@ GLboolean brwCreateContext( const __GLcontextModes *mesaVis,
+ ctx->Const.MaxTextureImageUnits);
+ ctx->Const.MaxVertexTextureImageUnits = 0; /* no vertex shader textures */
+
+- /* Advertise the full hardware capabilities. The new memory
+- * manager should cope much better with overload situations:
++ /* Mesa limits textures to 4kx4k; it would be nice to fix that someday
+ */
+- ctx->Const.MaxTextureLevels = 12;
++ ctx->Const.MaxTextureLevels = 13;
+ ctx->Const.Max3DTextureLevels = 9;
+ ctx->Const.MaxCubeTextureLevels = 12;
+- ctx->Const.MaxTextureRectSize = (1<<11);
++ ctx->Const.MaxTextureRectSize = (1<<12);
+
+ /* if conformance mode is set, swrast can handle any size AA point */
+ ctx->Const.MaxPointSizeAA = 255.0;
diff --git a/debian/patches/series b/debian/patches/series
index 7543d4c..6ea0051 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -3,3 +3,4 @@
04_osmesa_version.diff
101_ubuntu_hidden_glname.patch
102_dont_vblank.diff
+103_bump_965_texture_limit.diff
commit c23c1ddbd01568b958158518618d316ced30b357
Author: Timo Aaltonen <tjaalton@cc.hut.fi>
Date: Mon Mar 30 10:49:40 2009 +0300
update the changelog, drop patch 104.
diff --git a/debian/changelog b/debian/changelog
index 0e0fa4e..ed912fd 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,9 +1,10 @@
-mesa (7.4~rc1-1ubuntu1) UNRELEASED; urgency=low
+mesa (7.4-0ubuntu1) UNRELEASED; urgency=low
- * Merge from debian-experimental (LP: #330476)
+ * New upstream release, merge from debian-experimental (LP: #330476)
* Drop 103_rs600_support.patch, included in this version.
+ * Drop 104_swrast_fbconfigs.patch, included in this version.
- -- Timo Aaltonen <tjaalton@ubuntu.com> Fri, 27 Mar 2009 16:11:30 +0200
+ -- Timo Aaltonen <tjaalton@ubuntu.com> Mon, 30 Mar 2009 10:47:38 +0300
mesa (7.4~rc1-1) experimental; urgency=low
diff --git a/debian/patches/104_swrast_fbconfigs.patch b/debian/patches/104_swrast_fbconfigs.patch
deleted file mode 100644
index 1855ec2..0000000
--- a/debian/patches/104_swrast_fbconfigs.patch
+++ /dev/null
@@ -1,312 +0,0 @@
-Backport the following commit from mesa git:
- From 529d1d720e1422bad1880ef33fae1c9423112d2e Mon Sep 17 00:00:00 2001
- From: Eric Anholt <eric@anholt.net>
- Date: Wed, 04 Feb 2009 03:29:11 +0000
- Subject: swrast: Add support for x8r8g8b8 fbconfig.
-
- This lets swrast produce an fbconfig suitable for the root visual now that
- the server's not allowing mismatched fbconfigs.
-
-Index: mesa-7.3/src/mesa/drivers/dri/swrast/swrast.c
-===================================================================
---- mesa-7.3.orig/src/mesa/drivers/dri/swrast/swrast.c 2009-03-27 02:09:43.000000000 -0500
-+++ mesa-7.3/src/mesa/drivers/dri/swrast/swrast.c 2009-03-27 02:11:26.000000000 -0500
-@@ -164,17 +164,27 @@
- depth_buffer_factor = 4;
- back_buffer_factor = 2;
-
-- if (pixel_bits == 8) {
-+ switch (pixel_bits) {
-+ case 8:
- fb_format = GL_RGB;
- fb_type = GL_UNSIGNED_BYTE_2_3_3_REV;
-- }
-- else if (pixel_bits == 16) {
-+ break;
-+ case 16:
- fb_format = GL_RGB;
- fb_type = GL_UNSIGNED_SHORT_5_6_5;
-- }
-- else {
-+ break;
-+ case 24:
-+ fb_format = GL_BGR;
-+ fb_type = GL_UNSIGNED_INT_8_8_8_8_REV;
-+ break;
-+ case 32:
- fb_format = GL_BGRA;
- fb_type = GL_UNSIGNED_INT_8_8_8_8_REV;
-+ break;
-+ default:
-+ fprintf(stderr, "[%s:%u] bad depth %d\n", __func__, __LINE__,
-+ pixel_bits);
-+ return NULL;
- }
-
- configs = driCreateConfigs(fb_format, fb_type,
-@@ -196,7 +206,7 @@
- {
- static const __DRIextension *emptyExtensionList[] = { NULL };
- __DRIscreen *psp;
-- __DRIconfig **configs8, **configs16, **configs32;
-+ const __DRIconfig **configs8, **configs16, **configs24, **configs32;
-
- (void) data;
-
-@@ -213,11 +223,12 @@
-
- configs8 = swrastFillInModes(psp, 8, 8, 0, 1);
- configs16 = swrastFillInModes(psp, 16, 16, 0, 1);
-+ configs24 = swrastFillInModes(psp, 24, 24, 8, 1);
- configs32 = swrastFillInModes(psp, 32, 24, 8, 1);
-
- configs16 = (__DRIconfig **)driConcatConfigs(configs8, configs16);
--
-- *driver_configs = driConcatConfigs(configs16, configs32);
-+ configs24 = driConcatConfigs(configs16, configs24);
-+ *driver_configs = driConcatConfigs(configs24, configs32);
-
- driInitExtensions( NULL, card_extensions, GL_FALSE );
-
-@@ -249,19 +260,24 @@
- choose_pixel_format(const GLvisual *v)
- {
- if (v->rgbMode) {
-- int bpp = v->rgbBits;
-+ int depth = v->rgbBits;
-
-- if (bpp == 32
-+ if (depth == 32
- && v->redMask == 0xff0000
- && v->greenMask == 0x00ff00
- && v->blueMask == 0x0000ff)
- return PF_A8R8G8B8;
-- else if (bpp == 16
-+ else if (depth == 24
-+ && v->redMask == 0xff0000
-+ && v->greenMask == 0x00ff00
-+ && v->blueMask == 0x0000ff)
-+ return PF_X8R8G8B8;
-+ else if (depth == 16
- && v->redMask == 0xf800
- && v->greenMask == 0x07e0
- && v->blueMask == 0x001f)
- return PF_R5G6B5;
-- else if (bpp == 8
-+ else if (depth == 8
- && v->redMask == 0x07
- && v->greenMask == 0x38
- && v->blueMask == 0xc0)
-@@ -290,7 +306,6 @@
- GLenum internalFormat, GLuint width, GLuint height)
- {
- struct swrast_renderbuffer *xrb = swrast_renderbuffer(rb);
-- int bpp;
- unsigned mask = PITCH_ALIGN_BITS - 1;
-
- TRACE;
-@@ -299,23 +314,8 @@
- rb->Width = width;
- rb->Height = height;
-
-- switch (internalFormat) {
-- case GL_RGB:
-- bpp = rb->RedBits + rb->GreenBits + rb->BlueBits;
-- break;
-- case GL_RGBA:
-- bpp = rb->RedBits + rb->GreenBits + rb->BlueBits + rb->AlphaBits;
-- break;
-- case GL_COLOR_INDEX8_EXT:
-- bpp = rb->IndexBits;
-- break;
-- default:
-- _mesa_problem( NULL, "unexpected format in %s", __FUNCTION__ );
-- return GL_FALSE;
-- }
--
- /* always pad to PITCH_ALIGN_BITS */
-- xrb->pitch = ((width * bpp + mask) & ~mask) / 8;
-+ xrb->pitch = ((width * xrb->bpp + mask) & ~mask) / 8;
-
- return GL_TRUE;
- }
-@@ -371,6 +371,17 @@
- xrb->Base.GreenBits = 8 * sizeof(GLubyte);
- xrb->Base.BlueBits = 8 * sizeof(GLubyte);
- xrb->Base.AlphaBits = 8 * sizeof(GLubyte);
-+ xrb->bpp = 32;
-+ break;
-+ case PF_X8R8G8B8:
-+ xrb->Base.InternalFormat = GL_RGB;
-+ xrb->Base._BaseFormat = GL_RGB;
-+ xrb->Base.DataType = GL_UNSIGNED_BYTE;
-+ xrb->Base.RedBits = 8 * sizeof(GLubyte);
-+ xrb->Base.GreenBits = 8 * sizeof(GLubyte);
-+ xrb->Base.BlueBits = 8 * sizeof(GLubyte);
-+ xrb->Base.AlphaBits = 0;
-+ xrb->bpp = 32;
- break;
- case PF_R5G6B5:
- xrb->Base.InternalFormat = GL_RGB;
-@@ -380,6 +391,7 @@
- xrb->Base.GreenBits = 6 * sizeof(GLubyte);
- xrb->Base.BlueBits = 5 * sizeof(GLubyte);
- xrb->Base.AlphaBits = 0;
-+ xrb->bpp = 16;
- break;
- case PF_R3G3B2:
- xrb->Base.InternalFormat = GL_RGB;
-@@ -389,12 +401,14 @@
- xrb->Base.GreenBits = 3 * sizeof(GLubyte);
- xrb->Base.BlueBits = 2 * sizeof(GLubyte);
- xrb->Base.AlphaBits = 0;
-+ xrb->bpp = 8;
- break;
- case PF_CI8:
- xrb->Base.InternalFormat = GL_COLOR_INDEX8_EXT;
- xrb->Base._BaseFormat = GL_COLOR_INDEX;
- xrb->Base.DataType = GL_UNSIGNED_BYTE;
- xrb->Base.IndexBits = 8 * sizeof(GLubyte);
-+ xrb->bpp = 8;
- break;
- default:
- return NULL;
-Index: mesa-7.3/src/mesa/drivers/dri/swrast/swrast_priv.h
-===================================================================
---- mesa-7.3.orig/src/mesa/drivers/dri/swrast/swrast_priv.h 2009-03-27 02:09:39.000000000 -0500
-+++ mesa-7.3/src/mesa/drivers/dri/swrast/swrast_priv.h 2009-03-27 02:09:51.000000000 -0500
-@@ -90,6 +90,8 @@
-
- /* renderbuffer pitch (in bytes) */
- GLuint pitch;
-+ /* bits per pixel of storage */
-+ GLuint bpp;
- };
-
- static INLINE __DRIcontext *
-@@ -115,10 +117,10 @@
- * Pixel formats we support
- */
- #define PF_CI8 1 /**< Color Index mode */
--#define PF_A8R8G8B8 2 /**< 32-bit TrueColor: 8-A, 8-R, 8-G, 8-B bits */
--#define PF_R5G6B5 3 /**< 16-bit TrueColor: 5-R, 6-G, 5-B bits */
--#define PF_R3G3B2 4 /**< 8-bit TrueColor: 3-R, 3-G, 2-B bits */
--
-+#define PF_A8R8G8B8 2 /**< 32bpp TrueColor: 8-A, 8-R, 8-G, 8-B bits */
-+#define PF_R5G6B5 3 /**< 16bpp TrueColor: 5-R, 6-G, 5-B bits */
-+#define PF_R3G3B2 4 /**< 8bpp TrueColor: 3-R, 3-G, 2-B bits */
-+#define PF_X8R8G8B8 5 /**< 32bpp TrueColor: 8-R, 8-G, 8-B bits */
-
- /**
- * Renderbuffer pitch alignment (in bits).
-Index: mesa-7.3/src/mesa/drivers/dri/swrast/swrast_span.c
-===================================================================
---- mesa-7.3.orig/src/mesa/drivers/dri/swrast/swrast_span.c 2009-03-27 02:09:34.000000000 -0500
-+++ mesa-7.3/src/mesa/drivers/dri/swrast/swrast_span.c 2009-03-27 02:09:51.000000000 -0500
-@@ -79,6 +79,24 @@
- DST[BCOMP] = SRC[0]
-
-
-+/* 32-bit BGRX */
-+#define STORE_PIXEL_X8R8G8B8(DST, X, Y, VALUE) \
-+ DST[3] = 0xff; \
-+ DST[2] = VALUE[RCOMP]; \
-+ DST[1] = VALUE[GCOMP]; \
-+ DST[0] = VALUE[BCOMP]
-+#define STORE_PIXEL_RGB_X8R8G8B8(DST, X, Y, VALUE) \
-+ DST[3] = 0xff; \
-+ DST[2] = VALUE[RCOMP]; \
-+ DST[1] = VALUE[GCOMP]; \
-+ DST[0] = VALUE[BCOMP]
-+#define FETCH_PIXEL_X8R8G8B8(DST, SRC) \
-+ DST[ACOMP] = 0xff; \
-+ DST[RCOMP] = SRC[2]; \
-+ DST[GCOMP] = SRC[1]; \
-+ DST[BCOMP] = SRC[0]
-+
-+
- /* 16-bit BGR */
- #define STORE_PIXEL_R5G6B5(DST, X, Y, VALUE) \
- do { \
-@@ -139,6 +157,24 @@
- #include "swrast/s_spantemp.h"
-
-
-+/* 32-bit BGRX */
-+#define NAME(FUNC) FUNC##_X8R8G8B8
-+#define RB_TYPE GLubyte
-+#define SPAN_VARS \
-+ struct swrast_renderbuffer *xrb = swrast_renderbuffer(rb);
-+#define INIT_PIXEL_PTR(P, X, Y) \
-+ GLubyte *P = (GLubyte *)xrb->Base.Data + YFLIP(xrb, Y) * xrb->pitch + (X) * 4;
-+#define INC_PIXEL_PTR(P) P += 4
-+#define STORE_PIXEL(DST, X, Y, VALUE) \
-+ STORE_PIXEL_X8R8G8B8(DST, X, Y, VALUE)
-+#define STORE_PIXEL_RGB(DST, X, Y, VALUE) \
-+ STORE_PIXEL_RGB_X8R8G8B8(DST, X, Y, VALUE)
-+#define FETCH_PIXEL(DST, SRC) \
-+ FETCH_PIXEL_X8R8G8B8(DST, SRC)
-+
-+#include "swrast/s_spantemp.h"
-+
-+
- /* 16-bit BGR */
- #define NAME(FUNC) FUNC##_R5G6B5
- #define RB_TYPE GLubyte
-@@ -210,6 +246,24 @@
- #include "swrast_spantemp.h"
-
-
-+/* 32-bit BGRX */
-+#define NAME(FUNC) FUNC##_X8R8G8B8_front
-+#define RB_TYPE GLubyte
-+#define SPAN_VARS \
-+ struct swrast_renderbuffer *xrb = swrast_renderbuffer(rb);
-+#define INIT_PIXEL_PTR(P, X, Y) \
-+ GLubyte *P = (GLubyte *)row;
-+#define INC_PIXEL_PTR(P) P += 4
-+#define STORE_PIXEL(DST, X, Y, VALUE) \
-+ STORE_PIXEL_X8R8G8B8(DST, X, Y, VALUE)
-+#define STORE_PIXEL_RGB(DST, X, Y, VALUE) \
-+ STORE_PIXEL_RGB_X8R8G8B8(DST, X, Y, VALUE)
-+#define FETCH_PIXEL(DST, SRC) \
-+ FETCH_PIXEL_X8R8G8B8(DST, SRC)
-+
-+#include "swrast_spantemp.h"
-+
-+
- /* 16-bit BGR */
- #define NAME(FUNC) FUNC##_R5G6B5_front
- #define RB_TYPE GLubyte
-@@ -279,6 +333,15 @@
- xrb->Base.PutValues = put_values_A8R8G8B8;
- xrb->Base.PutMonoValues = put_mono_values_A8R8G8B8;
- break;
-+ case PF_X8R8G8B8:
-+ xrb->Base.GetRow = get_row_X8R8G8B8;
-+ xrb->Base.GetValues = get_values_X8R8G8B8;
-+ xrb->Base.PutRow = put_row_X8R8G8B8;
-+ xrb->Base.PutRowRGB = put_row_rgb_X8R8G8B8;
-+ xrb->Base.PutMonoRow = put_mono_row_X8R8G8B8;
-+ xrb->Base.PutValues = put_values_X8R8G8B8;
-+ xrb->Base.PutMonoValues = put_mono_values_X8R8G8B8;
-+ break;
- case PF_R5G6B5:
- xrb->Base.GetRow = get_row_R5G6B5;
- xrb->Base.GetValues = get_values_R5G6B5;
-@@ -334,6 +397,15 @@
- xrb->Base.PutValues = put_values_A8R8G8B8_front;
- xrb->Base.PutMonoValues = put_mono_values_A8R8G8B8_front;
- break;
-+ case PF_X8R8G8B8:
-+ xrb->Base.GetRow = get_row_X8R8G8B8_front;
-+ xrb->Base.GetValues = get_values_X8R8G8B8_front;
-+ xrb->Base.PutRow = put_row_X8R8G8B8_front;
-+ xrb->Base.PutRowRGB = put_row_rgb_X8R8G8B8_front;
-+ xrb->Base.PutMonoRow = put_mono_row_X8R8G8B8_front;
-+ xrb->Base.PutValues = put_values_X8R8G8B8_front;
-+ xrb->Base.PutMonoValues = put_mono_values_X8R8G8B8_front;
-+ break;
- case PF_R5G6B5:
- xrb->Base.GetRow = get_row_R5G6B5_front;
- xrb->Base.GetValues = get_values_R5G6B5_front;
diff --git a/debian/patches/series b/debian/patches/series
index cea3886..7543d4c 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -3,4 +3,3 @@
04_osmesa_version.diff
101_ubuntu_hidden_glname.patch
102_dont_vblank.diff
-104_swrast_fbconfigs.patch
commit bf1e6581a56884c383e5446d84c56b39a7f4e0a0
Author: Brian Paul <brianp@vmware.com>
Date: Fri Mar 27 18:57:39 2009 -0600
docs: set 7.4 release date
diff --git a/docs/news.html b/docs/news.html
index 8b96ab6..d34c273 100644
--- a/docs/news.html
Reply to: