Makefile | 18 configure.ac | 9 debian/changelog | 20 debian/control | 2 debian/patches/03_optional-progs-and-install.patch | 12 debian/patches/04_osmesa_version.diff | 10 debian/patches/102_dont_vblank.patch | 13 debian/patches/series | 1 docs/MESA_copy_sub_buffer.spec | 12 docs/relnotes-7.3.html | 4 include/GL/internal/dri_interface.h | 2 src/glx/x11/drisw_glx.c | 6 src/glx/x11/glx_pbuffer.c | 4 src/glx/x11/glxcmds.c | 10 src/glx/x11/glxcurrent.c | 5 src/mesa/drivers/dri/common/dri_util.h | 22 src/mesa/drivers/dri/i965/brw_context.c | 3 src/mesa/drivers/dri/i965/brw_program.c | 6 src/mesa/drivers/dri/i965/brw_sf.c | 11 src/mesa/drivers/dri/i965/brw_sf_state.c | 27 src/mesa/drivers/dri/i965/brw_wm_fp.c | 52 src/mesa/drivers/dri/i965/brw_wm_glsl.c | 18 src/mesa/drivers/dri/i965/brw_wm_sampler_state.c | 2 src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 22 src/mesa/drivers/dri/intel/intel_blit.c | 1 src/mesa/drivers/dri/intel/intel_buffers.c | 297 - src/mesa/drivers/dri/intel/intel_buffers.h | 2 src/mesa/drivers/dri/intel/intel_context.c | 4 src/mesa/drivers/dri/intel/intel_depthstencil.c | 13 src/mesa/drivers/dri/intel/intel_fbo.c | 54 src/mesa/drivers/dri/intel/intel_fbo.h | 28 src/mesa/drivers/dri/intel/intel_pixel_bitmap.c | 20 src/mesa/drivers/dri/intel/intel_pixel_copy.c | 6 src/mesa/drivers/dri/intel/intel_pixel_draw.c | 12 src/mesa/drivers/dri/intel/intel_screen.c | 8 src/mesa/drivers/dri/intel/intel_screen.h | 4 src/mesa/drivers/dri/intel/intel_span.c | 4 src/mesa/drivers/dri/intel/intel_tex_format.c | 10 src/mesa/drivers/dri/mach64/mach64_context.h | 6 src/mesa/drivers/dri/r300/r300_state.c | 7 src/mesa/drivers/dri/r300/radeon_program_pair.c | 5 src/mesa/drivers/glslcompiler/Makefile | 2 src/mesa/drivers/windows/gdi/mesa.def | 5 src/mesa/drivers/windows/gdi/wgl.c | 3 src/mesa/drivers/windows/gldirect/dx7/gld_driver_dx7.c | 1196 ----- src/mesa/drivers/windows/gldirect/dx7/gld_dx7.h | 292 - src/mesa/drivers/windows/gldirect/dx7/gld_dxerr7.h | 77 src/mesa/drivers/windows/gldirect/dx7/gld_ext_dx7.c | 346 - src/mesa/drivers/windows/gldirect/dx7/gld_pipeline_dx7.c | 77 src/mesa/drivers/windows/gldirect/dx7/gld_primitive_dx7.c | 1448 ------ src/mesa/drivers/windows/gldirect/dx7/gld_texture_dx7.c | 2196 ---------- src/mesa/drivers/windows/gldirect/dx7/gld_vb_d3d_render_dx7.c | 257 - src/mesa/drivers/windows/gldirect/dx7/gld_vb_mesa_render_dx7.c | 422 - src/mesa/drivers/windows/gldirect/dx7/gld_wgl_dx7.c | 1611 ------- src/mesa/drivers/windows/gldirect/dx8/gld_driver_dx8.c | 1176 ----- src/mesa/drivers/windows/gldirect/dx8/gld_dx8.h | 324 - src/mesa/drivers/windows/gldirect/dx8/gld_dxerr8.h | 77 src/mesa/drivers/windows/gldirect/dx8/gld_ext_dx8.c | 344 - src/mesa/drivers/windows/gldirect/dx8/gld_pipeline_dx8.c | 77 src/mesa/drivers/windows/gldirect/dx8/gld_primitive_dx8.c | 1446 ------ src/mesa/drivers/windows/gldirect/dx8/gld_texture_dx8.c | 2046 --------- src/mesa/drivers/windows/gldirect/dx8/gld_vb_d3d_render_dx8.c | 249 - src/mesa/drivers/windows/gldirect/dx8/gld_vb_mesa_render_dx8.c | 448 -- src/mesa/drivers/windows/gldirect/dx8/gld_wgl_dx8.c | 1335 ------ src/mesa/drivers/windows/gldirect/dx9/gld_driver_dx9.c | 1206 ----- src/mesa/drivers/windows/gldirect/dx9/gld_dx9.h | 327 - src/mesa/drivers/windows/gldirect/dx9/gld_dxerr9.h | 77 src/mesa/drivers/windows/gldirect/dx9/gld_ext_dx9.c | 344 - src/mesa/drivers/windows/gldirect/dx9/gld_pipeline_dx9.c | 77 src/mesa/drivers/windows/gldirect/dx9/gld_primitive_dx9.c | 1446 ------ src/mesa/drivers/windows/gldirect/dx9/gld_texture_dx9.c | 2104 --------- src/mesa/drivers/windows/gldirect/dx9/gld_vb_d3d_render_dx9.c | 263 - src/mesa/drivers/windows/gldirect/dx9/gld_vb_mesa_render_dx9.c | 443 -- src/mesa/drivers/windows/gldirect/dx9/gld_wgl_dx9.c | 1345 ------ src/mesa/glapi/glthread.h | 4 src/mesa/main/api_validate.c | 33 src/mesa/main/colormac.h | 4 src/mesa/main/enable.c | 4 src/mesa/main/glheader.h | 3 src/mesa/main/light.c | 3 src/mesa/main/mtypes.h | 13 src/mesa/main/texformat.c | 48 src/mesa/main/texformat.h | 4 src/mesa/main/texformat_tmp.h | 51 src/mesa/main/texstore.c | 107 src/mesa/main/texstore.h | 2 src/mesa/main/version.h | 2 src/mesa/math/m_matrix.h | 12 src/mesa/shader/arbprogparse.c | 31 src/mesa/shader/arbprogram.c | 1 src/mesa/shader/prog_instruction.c | 11 src/mesa/shader/slang/library/slang_pp_directives.syn | 20 src/mesa/shader/slang/library/slang_pp_directives_syn.h | 11 src/mesa/shader/slang/library/slang_shader.syn | 13 src/mesa/shader/slang/library/slang_shader_syn.h | 4 src/mesa/shader/slang/slang_codegen.c | 48 src/mesa/shader/slang/slang_codegen.h | 1 src/mesa/shader/slang/slang_compile.c | 36 src/mesa/shader/slang/slang_emit.c | 46 src/mesa/shader/slang/slang_emit.h | 4 src/mesa/shader/slang/slang_ir.c | 22 src/mesa/shader/slang/slang_ir.h | 13 src/mesa/shader/slang/slang_link.c | 14 src/mesa/shader/slang/slang_mem.c | 2 src/mesa/shader/slang/slang_preprocess.c | 89 src/mesa/shader/slang/slang_preprocess.h | 7 src/mesa/shader/slang/slang_typeinfo.c | 2 src/mesa/swrast/s_span.c | 1 src/mesa/swrast/s_texfilter.c | 5 src/mesa/tnl/t_vertex.c | 45 src/mesa/tnl/t_vertex.h | 12 windows/VC8/mesa/gdi/gdi.vcproj | 11 windows/VC8/mesa/gdi/gdi_staticCRT.vcproj | 261 + windows/VC8/mesa/glu/glu.vcproj | 27 windows/VC8/mesa/glu/glu_staticCRT.vcproj | 1019 ++++ windows/VC8/mesa/mesa/dosfile | 1761 ++++++++ windows/VC8/mesa/mesa/dosfile2 | 1762 ++++++++ windows/VC8/mesa/mesa/mesa.vcproj | 239 - windows/VC8/mesa/mesa/mesa_staticCRT.vcproj | 1768 ++++++++ windows/VC8/mesa/mesa_staticCRT.sln | 46 windows/VC8/mesa/osmesa/osmesa.vcproj | 4 windows/VC8/mesa/osmesa/osmesa_staticCRT.vcproj | 240 + windows/VC8/progs/demos/gears.vcproj | 9 windows/VC8/progs/demos/gears_staticCRT.vcproj | 238 + windows/VC8/progs/glut/glut.vcproj | 19 windows/VC8/progs/glut/glut_staticCRT.vcproj | 454 ++ windows/VC8/progs/progs_staticCRT.sln | 31 127 files changed, 8633 insertions(+), 23842 deletions(-)
New commits: commit e09ec95a0e0577fb28d4ad93495d806bc5bfed73 Author: Timo Aaltonen <tjaal...@cc.hut.fi> Date: Fri Jan 23 10:20:38 2009 +0200 Release 7.3~rc3-1ubuntu1. diff --git a/debian/changelog b/debian/changelog index dcfdf4c..20b4ee9 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -mesa (7.3~rc3-1ubuntu1) UNRELEASED; urgency=low +mesa (7.3~rc3-1ubuntu1) jaunty; urgency=low * Merge with Debian experimental. * Drop 102_dont_vblank.patch, since the new drm code in the kernel @@ -6,7 +6,7 @@ mesa (7.3~rc3-1ubuntu1) UNRELEASED; urgency=low * Bump the build-dependency of libdrm to 2.4.4. It's the first version with necessary changes to build this. - -- Timo Aaltonen <tjaal...@ubuntu.com> Sun, 18 Jan 2009 15:49:24 +0200 + -- Timo Aaltonen <tjaal...@ubuntu.com> Fri, 23 Jan 2009 10:20:24 +0200 mesa (7.3~rc3-1) experimental; urgency=low commit 90c7b47464d93b6b90203528f5fea715c8e95678 Author: Timo Aaltonen <tjaal...@cc.hut.fi> Date: Fri Jan 23 10:15:57 2009 +0200 Bump the build-dependency of libdrm to 2.4.4. It's the first version with necessary changes to build this. diff --git a/debian/changelog b/debian/changelog index 5950cd8..dcfdf4c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,6 +3,8 @@ mesa (7.3~rc3-1ubuntu1) UNRELEASED; urgency=low * Merge with Debian experimental. * Drop 102_dont_vblank.patch, since the new drm code in the kernel fixes the bugs that it worked around. + * Bump the build-dependency of libdrm to 2.4.4. It's the first version + with necessary changes to build this. -- Timo Aaltonen <tjaal...@ubuntu.com> Sun, 18 Jan 2009 15:49:24 +0200 diff --git a/debian/control b/debian/control index 5aadf4a..8e2acb5 100644 --- a/debian/control +++ b/debian/control @@ -6,7 +6,7 @@ XSBC-Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> Uploaders: Thierry Reding <thie...@gilfi.de>, Julien Cristau <jcris...@debian.org>, David Nusinow <dnusi...@debian.org>, Brice Goglin <bgog...@debian.org> Standards-Version: 3.7.3 Build-Depends: debhelper (>= 5), quilt (>= 0.40), pkg-config, - libdrm-dev (>= 2.4.3) [!hurd-i386], libx11-dev, xutils-dev, + libdrm-dev (>= 2.4.4) [!hurd-i386], libx11-dev, xutils-dev, x11proto-gl-dev (>= 1.4.8), libxxf86vm-dev, libexpat1-dev, dpkg-dev (>= 1.13.19), libxfixes-dev, libxdamage-dev, libxext-dev, autoconf, automake, x11proto-dri2-dev (>= 1.99.3) commit 47c49ec1e93cc381b46b11ecbab1ae5e9e6c018b Author: Timo Aaltonen <tjaal...@cc.hut.fi> Date: Fri Jan 23 10:09:37 2009 +0200 Clarify the removal of 102_dont_vblank diff --git a/debian/changelog b/debian/changelog index d31b2ad..5950cd8 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,8 @@ mesa (7.3~rc3-1ubuntu1) UNRELEASED; urgency=low * Merge with Debian experimental. + * Drop 102_dont_vblank.patch, since the new drm code in the kernel + fixes the bugs that it worked around. -- Timo Aaltonen <tjaal...@ubuntu.com> Sun, 18 Jan 2009 15:49:24 +0200 commit 0e23781a5493acbfe95f1783a4442c2b420ffc5e Author: Timo Aaltonen <tjaal...@cc.hut.fi> Date: Fri Jan 23 10:06:01 2009 +0200 Delete obsolete patches. diff --git a/debian/changelog b/debian/changelog index 94da522..d31b2ad 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,10 +1,6 @@ mesa (7.3~rc3-1ubuntu1) UNRELEASED; urgency=low * Merge with Debian experimental. - * Add 103_remove_intel_pageflipping.diff to remove obsolete code which - makes the build to fail. - * Add 104_plane_to_pipe.diff which renames plane* back to pipe* in - intel_buffers.c. -- Timo Aaltonen <tjaal...@ubuntu.com> Sun, 18 Jan 2009 15:49:24 +0200 diff --git a/debian/patches/102_dont_vblank.patch b/debian/patches/102_dont_vblank.patch deleted file mode 100644 index 99000f2..0000000 --- a/debian/patches/102_dont_vblank.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/mesa/drivers/dri/intel/intel_screen.c b/src/mesa/drivers/dri/intel/intel_screen.c -index 5233e58..5dded4b 100644 ---- a/src/mesa/drivers/dri/intel/intel_screen.c -+++ b/src/mesa/drivers/dri/intel/intel_screen.c -@@ -55,7 +55,7 @@ PUBLIC const char __driConfigOptions[] = - DRI_CONF_BEGIN - DRI_CONF_SECTION_PERFORMANCE - DRI_CONF_FTHROTTLE_MODE(DRI_CONF_FTHROTTLE_IRQS) -- DRI_CONF_VBLANK_MODE(DRI_CONF_VBLANK_ALWAYS_SYNC) -+ DRI_CONF_VBLANK_MODE(DRI_CONF_VBLANK_DEF_INTERVAL_0) - /* Options correspond to DRI_CONF_BO_REUSE_DISABLED, - * DRI_CONF_BO_REUSE_ALL - */ diff --git a/debian/patches/103_remove_intel_pageflipping.diff b/debian/patches/103_remove_intel_pageflipping.diff deleted file mode 100644 index eec9f11..0000000 --- a/debian/patches/103_remove_intel_pageflipping.diff +++ /dev/null @@ -1,488 +0,0 @@ ->From 7cc5c6eb60b9b1ef3b3ce476c14ddc8fbea07f7c Mon Sep 17 00:00:00 2001 -From: Owain G. Ainsworth <o...@openbsd.org> -Date: Wed, 14 Jan 2009 01:14:32 +0000 -Subject: [PATCH] Remove intel pageflipping support in its entirety. - -It's been broken and deprecated for a while, so it's time to die. This has the -wonderful benefit of cleaning up the code a fair amount; making it marginally -less twisty. - -I'm unsure if the for loops in IntelWindowMoved are still needed. ---- - src/mesa/drivers/dri/intel/intel_blit.c | 1 - - src/mesa/drivers/dri/intel/intel_buffers.c | 295 ++-------------------------- - src/mesa/drivers/dri/intel/intel_buffers.h | 2 - - src/mesa/drivers/dri/intel/intel_fbo.c | 39 +---- - src/mesa/drivers/dri/intel/intel_fbo.h | 11 +- - 5 files changed, 20 insertions(+), 328 deletions(-) - -diff --git a/src/mesa/drivers/dri/intel/intel_blit.c b/src/mesa/drivers/dri/intel/intel_blit.c -index 2f1639d..208f90c 100644 ---- a/src/mesa/drivers/dri/intel/intel_blit.c -+++ b/src/mesa/drivers/dri/intel/intel_blit.c -@@ -544,7 +544,6 @@ intelClearWithBlit(GLcontext *ctx, GLbitfield mask) - _mesa_debug(ctx, "hardware blit clear buf %d rb id %d\n", - buf, irb->Base.Name); - */ -- intel_wait_flips(intel); - - assert(b.x1 < b.x2); - assert(b.y1 < b.y2); -diff --git a/src/mesa/drivers/dri/intel/intel_buffers.c b/src/mesa/drivers/dri/intel/intel_buffers.c -index 4d036de..0cb3162 100644 ---- a/src/mesa/drivers/dri/intel/intel_buffers.c -+++ b/src/mesa/drivers/dri/intel/intel_buffers.c -@@ -43,22 +43,6 @@ - #include "vblank.h" - #include "i915_drm.h" - --/* This block can be removed when libdrm >= 2.3.1 is required */ -- --#ifndef DRM_IOCTL_I915_FLIP -- --#define DRM_VBLANK_FLIP 0x8000000 -- --typedef struct drm_i915_flip { -- int pipes; --} drm_i915_flip_t; -- --#undef DRM_IOCTL_I915_FLIP --#define DRM_IOCTL_I915_FLIP DRM_IOW(DRM_COMMAND_BASE + DRM_I915_FLIP, \ -- drm_i915_flip_t) -- --#endif -- - #define FILE_DEBUG_FLAG DEBUG_BLIT - - /** -@@ -143,8 +127,7 @@ intel_get_cliprects(struct intel_context *intel, - *num_cliprects = 1; - *x_off = 0; - *y_off = 0; -- } else if (intel->front_cliprects || -- intel_fb->pf_active || dPriv->numBackClipRects == 0) { -+ } else if (intel->front_cliprects || dPriv->numBackClipRects == 0) { - /* use the front clip rects */ - *cliprects = dPriv->pClipRects; - *num_cliprects = dPriv->numClipRects; -@@ -160,76 +143,6 @@ intel_get_cliprects(struct intel_context *intel, - } - } - --static void --intelUpdatePageFlipping(struct intel_context *intel, -- GLint areaA, GLint areaB) --{ -- __DRIdrawablePrivate *dPriv = intel->driDrawable; -- struct intel_framebuffer *intel_fb = dPriv->driverPrivate; -- GLboolean pf_active; -- GLint pf_planes; -- -- /* Update page flipping info */ -- pf_planes = 0; -- -- if (areaA > 0) -- pf_planes |= 1; -- -- if (areaB > 0) -- pf_planes |= 2; -- -- intel_fb->pf_current_page = (intel->sarea->pf_current_page >> -- (intel_fb->pf_planes & 0x2)) & 0x3; -- -- intel_fb->pf_num_pages = 2; -- -- pf_active = pf_planes && (pf_planes & intel->sarea->pf_active) == pf_planes; -- -- if (INTEL_DEBUG & DEBUG_LOCK) -- if (pf_active != intel_fb->pf_active) -- _mesa_printf("%s - Page flipping %sactive\n", __progname, -- pf_active ? "" : "in"); -- -- if (pf_active) { -- /* Sync pages between planes if flipping on both at the same time */ -- if (pf_planes == 0x3 && pf_planes != intel_fb->pf_planes && -- (intel->sarea->pf_current_page & 0x3) != -- (((intel->sarea->pf_current_page) >> 2) & 0x3)) { -- drm_i915_flip_t flip; -- -- if (intel_fb->pf_current_page == -- (intel->sarea->pf_current_page & 0x3)) { -- /* XXX: This is ugly, but emitting two flips 'in a row' can cause -- * lockups for unknown reasons. -- */ -- intel->sarea->pf_current_page = -- intel->sarea->pf_current_page & 0x3; -- intel->sarea->pf_current_page |= -- ((intel_fb->pf_current_page + intel_fb->pf_num_pages - 1) % -- intel_fb->pf_num_pages) << 2; -- -- flip.pipes = 0x2; -- } else { -- intel->sarea->pf_current_page = -- intel->sarea->pf_current_page & (0x3 << 2); -- intel->sarea->pf_current_page |= -- (intel_fb->pf_current_page + intel_fb->pf_num_pages - 1) % -- intel_fb->pf_num_pages; -- -- flip.pipes = 0x1; -- } -- -- drmCommandWrite(intel->driFd, DRM_I915_FLIP, &flip, sizeof(flip)); -- } -- -- intel_fb->pf_planes = pf_planes; -- } -- -- intel_fb->pf_active = pf_active; -- intel_flip_renderbuffers(intel_fb); -- intel_draw_buffer(&intel->ctx, intel->ctx.DrawBuffer); --} -- - /** - * This will be called whenever the currently bound window is moved/resized. - * XXX: actually, it seems to NOT be called when the window is only moved (BP). -@@ -256,8 +169,6 @@ intelWindowMoved(struct intel_context *intel) - GLint areaB = driIntersectArea( drw_rect, planeB_rect ); - GLuint flags = dPriv->vblFlags; - -- intelUpdatePageFlipping(intel, areaA, areaB); -- - /* Update vblank info - */ - if (areaB > areaA || (areaA == areaB && areaB > 0)) { -@@ -282,7 +193,7 @@ intelWindowMoved(struct intel_context *intel) - vbl.request.type |= DRM_VBLANK_SECONDARY; - } - -- for (i = 0; i < intel_fb->pf_num_pages; i++) { -+ for (i = 0; i < 2; i++) { - if (!intel_fb->color_rb[i] || - (intel_fb->vbl_waited - intel_fb->color_rb[i]->vbl_pending) <= - (1<<23)) -@@ -306,7 +217,7 @@ intelWindowMoved(struct intel_context *intel) - - intel_fb->vbl_waited = dPriv->vblSeq; - -- for (i = 0; i < intel_fb->pf_num_pages; i++) { -+ for (i = 0; i < 2; i++) { - if (intel_fb->color_rb[i]) - intel_fb->color_rb[i]->vbl_pending = intel_fb->vbl_waited; - } -@@ -545,176 +456,6 @@ intelClear(GLcontext *ctx, GLbitfield mask) - } - } - -- --/* Emit wait for pending flips */ --void --intel_wait_flips(struct intel_context *intel) --{ -- struct intel_framebuffer *intel_fb = -- (struct intel_framebuffer *) intel->ctx.DrawBuffer; -- struct intel_renderbuffer *intel_rb = -- intel_get_renderbuffer(&intel_fb->Base, -- intel_fb->Base._ColorDrawBufferIndexes[0] == -- BUFFER_FRONT_LEFT ? BUFFER_FRONT_LEFT : -- BUFFER_BACK_LEFT); -- -- if (intel->intelScreen->driScrnPriv->dri2.enabled) -- return; -- -- if (intel_fb->Base.Name == 0 && intel_rb && -- intel_rb->pf_pending == intel_fb->pf_seq) { -- GLint pf_planes = intel_fb->pf_planes; -- BATCH_LOCALS; -- -- /* Wait for pending flips to take effect */ -- BEGIN_BATCH(2, NO_LOOP_CLIPRECTS); -- OUT_BATCH(pf_planes & 0x1 ? (MI_WAIT_FOR_EVENT | MI_WAIT_FOR_PLANE_A_FLIP) -- : 0); -- OUT_BATCH(pf_planes & 0x2 ? (MI_WAIT_FOR_EVENT | MI_WAIT_FOR_PLANE_B_FLIP) -- : 0); -- ADVANCE_BATCH(); -- -- intel_rb->pf_pending--; -- } --} -- -- --/* Flip the front & back buffers -- */ --static GLboolean --intelPageFlip(const __DRIdrawablePrivate * dPriv) --{ -- struct intel_context *intel; -- int ret; -- struct intel_framebuffer *intel_fb = dPriv->driverPrivate; -- -- if (INTEL_DEBUG & DEBUG_IOCTL) -- fprintf(stderr, "%s\n", __FUNCTION__); -- -- assert(dPriv); -- assert(dPriv->driContextPriv); -- assert(dPriv->driContextPriv->driverPrivate); -- -- intel = (struct intel_context *) dPriv->driContextPriv->driverPrivate; -- -- if (intel->intelScreen->drmMinor < 9) -- return GL_FALSE; -- -- intelFlush(&intel->ctx); -- -- ret = 0; -- -- LOCK_HARDWARE(intel); -- -- if (dPriv->numClipRects && intel_fb->pf_active) { -- drm_i915_flip_t flip; -- -- flip.pipes = intel_fb->pf_planes; -- -- ret = drmCommandWrite(intel->driFd, DRM_I915_FLIP, &flip, sizeof(flip)); -- } -- -- UNLOCK_HARDWARE(intel); -- -- if (ret || !intel_fb->pf_active) -- return GL_FALSE; -- -- if (!dPriv->numClipRects) { -- usleep(10000); /* throttle invisible client 10ms */ -- } -- -- intel_fb->pf_current_page = (intel->sarea->pf_current_page >> -- (intel_fb->pf_planes & 0x2)) & 0x3; -- -- if (dPriv->numClipRects != 0) { -- intel_get_renderbuffer(&intel_fb->Base, BUFFER_FRONT_LEFT)->pf_pending = -- intel_get_renderbuffer(&intel_fb->Base, BUFFER_BACK_LEFT)->pf_pending = -- ++intel_fb->pf_seq; -- } -- -- intel_flip_renderbuffers(intel_fb); -- intel_draw_buffer(&intel->ctx, &intel_fb->Base); -- -- return GL_TRUE; --} -- --static GLboolean --intelScheduleSwap(__DRIdrawablePrivate * dPriv, GLboolean *missed_target) --{ -- struct intel_framebuffer *intel_fb = dPriv->driverPrivate; -- unsigned int interval; -- struct intel_context *intel = -- intelScreenContext(dPriv->driScreenPriv->private); -- const intelScreenPrivate *intelScreen = intel->intelScreen; -- unsigned int target; -- drm_i915_vblank_swap_t swap; -- GLboolean ret; -- -- if (!dPriv->vblFlags || -- (dPriv->vblFlags & VBLANK_FLAG_NO_IRQ) || -- intelScreen->drmMinor < (intel_fb->pf_active ? 9 : 6)) -- return GL_FALSE; -- -- interval = driGetVBlankInterval(dPriv); -- -- swap.seqtype = DRM_VBLANK_ABSOLUTE; -- -- if (dPriv->vblFlags & VBLANK_FLAG_SYNC) { -- swap.seqtype |= DRM_VBLANK_NEXTONMISS; -- } else if (interval == 0) -- return GL_FALSE; -- -- swap.drawable = dPriv->hHWDrawable; -- target = swap.sequence = dPriv->vblSeq + interval; -- -- if ( dPriv->vblFlags & VBLANK_FLAG_SECONDARY ) { -- swap.seqtype |= DRM_VBLANK_SECONDARY; -- } -- -- LOCK_HARDWARE(intel); -- -- intel_batchbuffer_flush(intel->batch); -- -- if ( intel_fb->pf_active ) { -- swap.seqtype |= DRM_VBLANK_FLIP; -- -- intel_fb->pf_current_page = (((intel->sarea->pf_current_page >> -- (intel_fb->pf_planes & 0x2)) & 0x3) + 1) % -- intel_fb->pf_num_pages; -- } -- -- if (!drmCommandWriteRead(intel->driFd, DRM_I915_VBLANK_SWAP, &swap, -- sizeof(swap))) { -- dPriv->vblSeq = swap.sequence; -- swap.sequence -= target; -- *missed_target = swap.sequence > 0 && swap.sequence <= (1 << 23); -- -- intel_get_renderbuffer(&intel_fb->Base, BUFFER_BACK_LEFT)->vbl_pending = -- intel_get_renderbuffer(&intel_fb->Base, -- BUFFER_FRONT_LEFT)->vbl_pending = -- dPriv->vblSeq; -- -- if (swap.seqtype & DRM_VBLANK_FLIP) { -- intel_flip_renderbuffers(intel_fb); -- intel_draw_buffer(&intel->ctx, intel->ctx.DrawBuffer); -- } -- -- ret = GL_TRUE; -- } else { -- if (swap.seqtype & DRM_VBLANK_FLIP) { -- intel_fb->pf_current_page = ((intel->sarea->pf_current_page >> -- (intel_fb->pf_planes & 0x2)) & 0x3) % -- intel_fb->pf_num_pages; -- } -- -- ret = GL_FALSE; -- } -- -- UNLOCK_HARDWARE(intel); -- -- return ret; --} -- - void - intelSwapBuffers(__DRIdrawablePrivate * dPriv) - { -@@ -736,22 +477,22 @@ intelSwapBuffers(__DRIdrawablePrivate * dPriv) - - _mesa_notifySwapBuffers(ctx); /* flush pending rendering comands */ - -- if (!intelScheduleSwap(dPriv, &missed_target)) { -- driWaitForVBlank(dPriv, &missed_target); -+ /* -+ * The old swapping ioctl was incredibly racy, just wait for vblank -+ * and do the swap ourselves. -+ */ -+ driWaitForVBlank(dPriv, &missed_target); - -- /* -- * Update each buffer's vbl_pending so we don't get too out of -- * sync -- */ -- intel_get_renderbuffer(&intel_fb->Base, -- BUFFER_BACK_LEFT)->vbl_pending = -- intel_get_renderbuffer(&intel_fb->Base, -- BUFFER_FRONT_LEFT)->vbl_pending = -- dPriv->vblSeq; -- if (!intelPageFlip(dPriv)) { -- intelCopyBuffer(dPriv, NULL); -- } -- } -+ /* -+ * Update each buffer's vbl_pending so we don't get too out of -+ * sync -+ */ -+ intel_get_renderbuffer(&intel_fb->Base, -+ BUFFER_BACK_LEFT)->vbl_pending = dPriv->vblSeq; -+ intel_get_renderbuffer(&intel_fb->Base, -+ BUFFER_FRONT_LEFT)->vbl_pending = dPriv->vblSeq; -+ -+ intelCopyBuffer(dPriv, NULL); - - intel_fb->swap_count++; - (*psp->systemTime->getUST) (&ust); -diff --git a/src/mesa/drivers/dri/intel/intel_buffers.h b/src/mesa/drivers/dri/intel/intel_buffers.h -index e5afb37..0be1cee 100644 ---- a/src/mesa/drivers/dri/intel/intel_buffers.h -+++ b/src/mesa/drivers/dri/intel/intel_buffers.h -@@ -45,8 +45,6 @@ extern struct intel_region *intel_readbuf_region(struct intel_context *intel); - - extern struct intel_region *intel_drawbuf_region(struct intel_context *intel); - --extern void intel_wait_flips(struct intel_context *intel); -- - extern void intelSwapBuffers(__DRIdrawablePrivate * dPriv); - - extern void intelWindowMoved(struct intel_context *intel); -diff --git a/src/mesa/drivers/dri/intel/intel_fbo.c b/src/mesa/drivers/dri/intel/intel_fbo.c -index 7453b96..c95e2ec 100644 ---- a/src/mesa/drivers/dri/intel/intel_fbo.c -+++ b/src/mesa/drivers/dri/intel/intel_fbo.c -@@ -77,43 +77,6 @@ intel_get_renderbuffer(struct gl_framebuffer *fb, int attIndex) - return NULL; - } - -- --void --intel_flip_renderbuffers(struct intel_framebuffer *intel_fb) --{ -- int current_page = intel_fb->pf_current_page; -- int next_page = (current_page + 1) % intel_fb->pf_num_pages; -- struct gl_renderbuffer *tmp_rb; -- -- /* Exchange renderbuffers if necessary but make sure their reference counts -- * are preserved. -- */ -- if (intel_fb->color_rb[current_page] && -- intel_fb->Base.Attachment[BUFFER_FRONT_LEFT].Renderbuffer != -- &intel_fb->color_rb[current_page]->Base) { -- tmp_rb = NULL; -- _mesa_reference_renderbuffer(&tmp_rb, -- intel_fb->Base.Attachment[BUFFER_FRONT_LEFT].Renderbuffer); -- tmp_rb = &intel_fb->color_rb[current_page]->Base; -- _mesa_reference_renderbuffer( -- &intel_fb->Base.Attachment[BUFFER_FRONT_LEFT].Renderbuffer, tmp_rb); -- _mesa_reference_renderbuffer(&tmp_rb, NULL); -- } -- -- if (intel_fb->color_rb[next_page] && -- intel_fb->Base.Attachment[BUFFER_BACK_LEFT].Renderbuffer != -- &intel_fb->color_rb[next_page]->Base) { -- tmp_rb = NULL; -- _mesa_reference_renderbuffer(&tmp_rb, -- intel_fb->Base.Attachment[BUFFER_BACK_LEFT].Renderbuffer); -- tmp_rb = &intel_fb->color_rb[next_page]->Base; -- _mesa_reference_renderbuffer( -- &intel_fb->Base.Attachment[BUFFER_BACK_LEFT].Renderbuffer, tmp_rb); -- _mesa_reference_renderbuffer(&tmp_rb, NULL); -- } --} -- -- - struct intel_region * - intel_get_rb_region(struct gl_framebuffer *fb, GLuint attIndex) - { -@@ -344,7 +307,7 @@ intel_resize_buffers(GLcontext *ctx, struct gl_framebuffer *fb, - } - - /* Make sure all window system renderbuffers are up to date */ -- for (i = 0; i < 3; i++) { -+ for (i = 0; i < 2; i++) { - struct gl_renderbuffer *rb = &intel_fb->color_rb[i]->Base; - - /* only resize if size is changing */ -diff --git a/src/mesa/drivers/dri/intel/intel_fbo.h b/src/mesa/drivers/dri/intel/intel_fbo.h -index 9d15582..014e391 100644 ---- a/src/mesa/drivers/dri/intel/intel_fbo.h -+++ b/src/mesa/drivers/dri/intel/intel_fbo.h -@@ -39,14 +39,7 @@ struct intel_framebuffer - { - struct gl_framebuffer Base; - -- struct intel_renderbuffer *color_rb[3]; -- -- /* Drawable page flipping state */ -- GLboolean pf_active; -- GLuint pf_seq; -- GLint pf_planes; -- GLint pf_current_page; -- GLint pf_num_pages; -+ struct intel_renderbuffer *color_rb[2]; - - /* VBI - */ -@@ -76,8 +69,6 @@ struct intel_renderbuffer - GLuint PairedDepth; /**< only used if this is a depth renderbuffer */ - GLuint PairedStencil; /**< only used if this is a stencil renderbuffer */ - -- GLuint pf_pending; /**< sequence number of pending flip */ -- - GLuint vbl_pending; /**< vblank sequence number of pending flip */ - - uint8_t *span_cache; --- -1.6.0.5 - diff --git a/debian/patches/104_plane_to_pipe.diff b/debian/patches/104_plane_to_pipe.diff deleted file mode 100644 index b7ad266..0000000 --- a/debian/patches/104_plane_to_pipe.diff +++ /dev/null @@ -1,35 +0,0 @@ -Index: mesa/src/mesa/drivers/dri/intel/intel_buffers.c -=================================================================== ---- mesa.orig/src/mesa/drivers/dri/intel/intel_buffers.c 2009-01-18 16:29:04.000000000 +0200 -+++ mesa/src/mesa/drivers/dri/intel/intel_buffers.c 2009-01-18 16:29:04.000000000 +0200 -@@ -114,7 +114,6 @@ - int *x_off, int *y_off) - { - __DRIdrawablePrivate *dPriv = intel->driDrawable; -- struct intel_framebuffer *intel_fb = dPriv->driverPrivate; - - if (intel->constant_cliprect) { - /* FBO or DRI2 rendering, which can just use the fb's size. */ -@@ -159,14 +158,14 @@ - volatile struct drm_i915_sarea *sarea = intel->sarea; - drm_clip_rect_t drw_rect = { .x1 = dPriv->x, .x2 = dPriv->x + dPriv->w, - .y1 = dPriv->y, .y2 = dPriv->y + dPriv->h }; -- drm_clip_rect_t planeA_rect = { .x1 = sarea->planeA_x, .y1 = sarea->planeA_y, -- .x2 = sarea->planeA_x + sarea->planeA_w, -- .y2 = sarea->planeA_y + sarea->planeA_h }; -- drm_clip_rect_t planeB_rect = { .x1 = sarea->planeB_x, .y1 = sarea->planeB_y, -- .x2 = sarea->planeB_x + sarea->planeB_w, -- .y2 = sarea->planeB_y + sarea->planeB_h }; -- GLint areaA = driIntersectArea( drw_rect, planeA_rect ); -- GLint areaB = driIntersectArea( drw_rect, planeB_rect ); -+ drm_clip_rect_t pipeA_rect = { .x1 = sarea->pipeA_x, .y1 = sarea->pipeA_y, -+ .x2 = sarea->pipeA_x + sarea->pipeA_w, -+ .y2 = sarea->pipeA_y + sarea->pipeA_h }; -+ drm_clip_rect_t pipeB_rect = { .x1 = sarea->pipeB_x, .y1 = sarea->pipeB_y, -+ .x2 = sarea->pipeB_x + sarea->pipeB_w, -+ .y2 = sarea->pipeB_y + sarea->pipeB_h }; -+ GLint areaA = driIntersectArea( drw_rect, pipeA_rect ); -+ GLint areaB = driIntersectArea( drw_rect, pipeB_rect ); - GLuint flags = dPriv->vblFlags; - - /* Update vblank info diff --git a/debian/patches/series b/debian/patches/series index b48bf0d..bdefe59 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -2,6 +2,3 @@ 03_optional-progs-and-install.patch 04_osmesa_version.diff 101_ubuntu_hidden_glname.patch -102_dont_vblank.patch -103_remove_intel_pageflipping.diff -104_plane_to_pipe.diff commit f5c47105dbc810d7193c4df48bbbe08351e1f5d2 Author: Julien Cristau <jcris...@debian.org> Date: Wed Jan 21 19:01:24 2009 +0100 Prepare changelog for upload diff --git a/debian/changelog b/debian/changelog index b521e3a..b40e25b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -mesa (7.3~rc3-1) UNRELEASED; urgency=low +mesa (7.3~rc3-1) experimental; urgency=low [ Timo Aaltonen ] * New upstream release candidate. @@ -6,7 +6,7 @@ mesa (7.3~rc3-1) UNRELEASED; urgency=low [ Julien Cristau ] * Refresh patches 03 and 04. - -- Timo Aaltonen <tjaal...@ubuntu.com> Fri, 16 Jan 2009 23:06:40 +0200 + -- Julien Cristau <jcris...@debian.org> Wed, 21 Jan 2009 19:01:21 +0100 mesa (7.3~rc1-1) experimental; urgency=low commit f1939c868505c59798de1b88a32b633fe292ac03 Author: Julien Cristau <jcris...@debian.org> Date: Wed Jan 21 19:01:17 2009 +0100 Refresh patches 03 and 04. diff --git a/debian/changelog b/debian/changelog index 052d3db..b521e3a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,7 +1,11 @@ mesa (7.3~rc3-1) UNRELEASED; urgency=low + [ Timo Aaltonen ] * New upstream release candidate. + [ Julien Cristau ] + * Refresh patches 03 and 04. + -- Timo Aaltonen <tjaal...@ubuntu.com> Fri, 16 Jan 2009 23:06:40 +0200 mesa (7.3~rc1-1) experimental; urgency=low diff --git a/debian/patches/03_optional-progs-and-install.patch b/debian/patches/03_optional-progs-and-install.patch index 211c7a9..6eac84a 100644 --- a/debian/patches/03_optional-progs-and-install.patch +++ b/debian/patches/03_optional-progs-and-install.patch @@ -12,8 +12,8 @@ and we don't actually build it at this point. Index: mesa/progs/xdemos/Makefile =================================================================== ---- mesa.orig/progs/xdemos/Makefile 2008-07-01 15:26:56.000000000 +0300 -+++ mesa/progs/xdemos/Makefile 2008-07-01 15:48:47.000000000 +0300 +--- mesa.orig/progs/xdemos/Makefile ++++ mesa/progs/xdemos/Makefile @@ -10,7 +10,7 @@ LIBS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) $(APP_LIB_DEPS) @@ -21,9 +21,9 @@ Index: mesa/progs/xdemos/Makefile -PROGS = \ +PROGS ?= \ corender \ + glsync \ glthreads \ - glxdemo \ -@@ -60,6 +60,11 @@ +@@ -61,6 +61,11 @@ extra: $(EXTRA_PROGS) @@ -37,8 +37,8 @@ Index: mesa/progs/xdemos/Makefile -rm -f *.o *~ Index: mesa/progs/Makefile =================================================================== ---- mesa.orig/progs/Makefile 2008-07-01 15:26:56.000000000 +0300 -+++ mesa/progs/Makefile 2008-07-01 15:48:07.000000000 +0300 +--- mesa.orig/progs/Makefile ++++ mesa/progs/Makefile @@ -21,8 +21,12 @@ fi \ done diff --git a/debian/patches/04_osmesa_version.diff b/debian/patches/04_osmesa_version.diff index 5734397..108916c 100644 --- a/debian/patches/04_osmesa_version.diff +++ b/debian/patches/04_osmesa_version.diff @@ -1,17 +1,17 @@ Index: mesa/src/mesa/drivers/osmesa/Makefile =================================================================== ---- mesa.orig/src/mesa/drivers/osmesa/Makefile 2008-09-12 10:44:02.000000000 +0300 -+++ mesa/src/mesa/drivers/osmesa/Makefile 2008-09-23 16:07:40.000000000 +0300 -@@ -46,7 +46,7 @@ +--- mesa.orig/src/mesa/drivers/osmesa/Makefile ++++ mesa/src/mesa/drivers/osmesa/Makefile +@@ -45,7 +45,7 @@ - $(TOP)/lib/$(OSMESA_LIB_NAME): $(OBJECTS) + $(TOP)/$(LIB_DIR)/$(OSMESA_LIB_NAME): $(OBJECTS) $(MKLIB) -o $(OSMESA_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \ - -major $(MESA_MAJOR) -minor $(MESA_MINOR) -patch $(MESA_TINY) \ + -major 6 -minor 5 -patch 3 \ -install $(TOP)/$(LIB_DIR) $(MKLIB_OPTIONS) \ -id $(INSTALL_LIB_DIR)/lib$(OSMESA_LIB).$(MESA_MAJOR).dylib \ $(OSMESA_LIB_DEPS) $(OBJECTS) -@@ -58,7 +58,7 @@ +@@ -57,7 +57,7 @@ # with all the other Mesa sources (compiled with -DCHAN_BITS=16/32 osmesa16: $(OBJECTS) $(CORE_MESA) $(MKLIB) -o $(OSMESA_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \ commit 3ac4d678ef4f95268be2a34f4511593900ba1357 Author: Julien Cristau <jcris...@debian.org> Date: Wed Jan 21 18:51:07 2009 +0100 Delete some more files which aren't in the tarballs diff --git a/src/mesa/drivers/windows/gldirect/dx7/gld_driver_dx7.c b/src/mesa/drivers/windows/gldirect/dx7/gld_driver_dx7.c deleted file mode 100644 index d5fa642..0000000 --- a/src/mesa/drivers/windows/gldirect/dx7/gld_driver_dx7.c +++ /dev/null @@ -1,1196 +0,0 @@ -/**************************************************************************** -* -* Mesa 3-D graphics library -* Direct3D Driver Interface -* -* ======================================================================== -* -* Copyright (C) 1991-2004 SciTech Software, Inc. All rights reserved. -* -* Permission is hereby granted, free of charge, to any person obtaining a -* copy of this software and associated documentation files (the "Software"), -* to deal in the Software without restriction, including without limitation -* the rights to use, copy, modify, merge, publish, distribute, sublicense, -* and/or sell copies of the Software, and to permit persons to whom the -* Software is furnished to do so, subject to the following conditions: -* -* The above copyright notice and this permission notice shall be included -* in all copies or substantial portions of the Software. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -* SCITECH SOFTWARE INC BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF -* OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. -* -* ====================================================================== -* -* Language: ANSI C -* Environment: Windows 9x/2000/XP/XBox (Win32) -* -* Description: Driver interface code to Mesa -* -****************************************************************************/ - -//#include <windows.h> -#include "dglcontext.h" -#include "ddlog.h" -#include "gld_dx7.h" - -#include "glheader.h" -#include "context.h" -#include "colormac.h" -#include "depth.h" -#include "extensions.h" -#include "macros.h" -#include "matrix.h" -// #include "mem.h" -//#include "mmath.h" -#include "mtypes.h" -#include "texformat.h" -#include "teximage.h" -#include "texstore.h" -#include "vbo/vbo.h" -#include "swrast_setup/swrast_setup.h" -#include "swrast_setup/ss_context.h" -#include "tnl/tnl.h" -#include "tnl/t_context.h" -#include "tnl/t_pipeline.h" - -extern BOOL dglSwapBuffers(HDC hDC); - -// HACK: Hack the _33 member of the OpenGL perspective projection matrix -const float _fPersp_33 = 1.6f; - -//--------------------------------------------------------------------------- -// Internal functions -//--------------------------------------------------------------------------- - -void _gld_mesa_warning( - __GLcontext *gc, - char *str) -{ - // Intercept Mesa's internal warning mechanism - gldLogPrintf(GLDLOG_WARN, "Mesa warning: %s", str); -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org