[Mesa-dev] Mesa 8.0 branch maintenance

Ian Romanick idr at freedesktop.org
Thu Jul 26 18:37:11 PDT 2012


We've been really crappy about keeping up on stable releases.  The 
biggest problem has been bug fixes sitting on master never getting 
cherry picked over.  Release time comes along, and either I cherry pick 
57 patches over the day before the release or Jakob sends out an email 
with a similar list.

I think I have a plan that will remedy this situation.  Every time I see 
a patch go by that is marked with the stable note (or appears to fix a 
bugzilla on the stable release), I will pick it over to an 8.0-staging 
branch.  This branch will live in my personal repo on fdo.

I will send out a weekly list with the patches on 8.0-staging that 
haven't spawned any bug reports on master.  If there are no objections 
in, say, 24 hours, I'll merge it to the release branch.  Folks can also 
notify me about "bad" commits on the 8.0-staging branch at any time.

The first such list is below.  This is 40% of the patches currently on 
the 8.0-staging branch.

commit cf691c0bb06a52a38d879f19def6007a88c38069
Author: Brian Paul <brianp at vmware.com>
Date:   Mon Jul 16 14:14:07 2012 -0600

     st/egl: fix uninitialized pointer bug

     If no format is matched in the loop the value of xconf was undefined.

     NOTE: This is a candidate for the 8.0 branch.
     (cherry picked from commit fe2a7b7e7fca599659b1d248e160d480f2b92ba2)

commit 4c1cba003fbcc476bdb28a099914861e193cc9ba
Author: Marek Olšák <maraeo at gmail.com>
Date:   Sun Jul 8 19:24:37 2012 +0200

     mesa: remove assertions that do not allow compressed 2D_ARRAY textures

     NOTE: This is a candidate for the 8.0 branch.

     Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
     (cherry picked from commit 13b0af721a6ff9e98d47a2c0a740fe843c034016)

commit 61776c7e80bd2e4fa64bb635ebfdf151abc642d1
Author: Eric Anholt <eric at anholt.net>
Date:   Tue Jun 5 13:13:33 2012 -0700

     i965/fs: Invalidate live intervals in passes that remove an 
instruction.

     Since live intervals are based on ip, removing an instruction trashes
     the intervals unless we were to go do some surgery.  These happen to
     usually remove a use of a grf, so it's time to recalculate, anyway.

     Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
     NOTE: This is a candidate for the 8.0 release branch.
     (cherry picked from commit 2343fe9a5d1786413453e6e8e5c7700143d68a26)

commit 10a2d34a8bdbedb091880c0f7e163cd3206091fc
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Wed Jun 20 13:40:45 2012 -0700

     i965: Avoid unnecessary recompiles for shaders that don't use dFdy().

     The i965 back-end needs to compile dFdy() differently for FBOs and
     window system framebuffers, because Y coordinates are flipped between
     the two (see commit 82d2596: i965: Compute dFdy() correctly for FBOs).
     This patch avoids unnecessarily recompiling shaders that don't use
     dFdy(), by only setting render_to_fbo in the wm program key if the
     shader actually uses dFdy().

     Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
     Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
     (cherry picked from commit d08fdacd58dfa6b1926e9df4707dd9e8dd5370c5)

     Conflicts:

     	src/mesa/drivers/dri/i965/brw_wm.c

commit 0f0e17f8aa83ca36c314ffb0d511dc08dc0e6c30
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Wed Jun 20 13:40:45 2012 -0700

     i965: Compute dFdy() correctly for FBOs.

     On i965, dFdx() and dFdy() are computed by taking advantage of the
     fact that each consecutive set of 4 pixels dispatched to the fragment
     shader always constitutes a contiguous 2x2 block of pixels in a fixed
     arrangement known as a "sub-span".  So we calculate dFdx() by taking
     the difference between the values computed for the left and right
     halves of the sub-span, and we calculate dFdy() by taking the
     difference between the values computed for the top and bottom halves
     of the sub-span.

     However, there's a subtlety when FBOs are in use: since FBOs use a
     coordinate system where the origin is at the upper left, and window
     system framebuffers use a coordinate system where the origin is at the
     lower left, the computation of dFdy() needs to be negated for FBOs.

     This patch modifies the fragment shader back-ends to negate the value
     of dFdy() when an FBO is in use.  It also modifies the code that
     populates the program key (brw_wm_populate_key() and
     brw_fs_precompile()) so that they always record in the program key
     whether we are rendering to an FBO or to a window system framebuffer;
     this ensures that the fragment shader will get recompiled when
     switching between FBO and non-FBO use.

     This will result in unnecessary recompiles of fragment shaders that
     don't use dFdy().  To fix that, we will need to adapt the GLSL and
     NV_fragment_program front-ends to record whether or not a given shader
     uses dFdy().  I plan to implement this in a future patch series; I've
     left FIXME comments in the code as a reminder.

     Fixes Piglit test "fbo-deriv".

     NOTE: This is a candidate for stable release branches.

     Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
     (cherry picked from commit 82d25963a838cfebdeb9b080169979329ee850ea)

commit 844280722f1a0c3658fc4598664dc5fcdc8c995d
Author: Brian Paul <brianp at vmware.com>
Date:   Fri Apr 20 07:58:59 2012 -0600

     intel: use _mesa_is_winsys/user_fbo() helpers

     Reviewed-by: Eric Anholt <eric at anholt.net>
     (cherry picked from commit 4433b0302d0aa9dc61002e8bb4fd1b752b0be338)


More information about the mesa-dev mailing list