[Mesa-dev] [PATCH 0/9] Elminate redudnant Mesa IR references

Marcin Slusarz marcin.slusarz at gmail.com
Mon Oct 10 11:00:31 PDT 2011


On Mon, Oct 10, 2011 at 10:18:26AM -0700, Ian Romanick wrote:
> On 10/09/2011 07:41 AM, Marcin Slusarz wrote:
> > On Tue, Oct 04, 2011 at 01:44:03PM -0700, Ian Romanick wrote:
> >> This is the next in my series of internal shader API cleaning.  The
> >> primary purpose of this series is to remove the extra tracking of Mesa
> >> IR shaders.  The gl_shader_program has a reference to the Mesa IR
> >> shader for each stage, and the entry in gl_shader_program::_LinkedShaders
> >> has a reference to the same Mesa IR.
> >>
> >> The first three patches eliminate the extra references, and the
> >> remaining six implement some refactors and clean-ups enabled by the
> >> first three.
> >>
> >>   src/glsl/ir.cpp                                |    8 ---
> >>   src/glsl/ir.h                                  |    8 ---
> >>   src/mesa/drivers/dri/i965/brw_fs.cpp           |    8 ++-
> >>   src/mesa/drivers/dri/i965/brw_fs.h             |    3 +-
> >>   src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp |    3 +-
> >>   src/mesa/drivers/dri/i965/brw_vs.c             |    8 ++-
> >>   src/mesa/drivers/dri/i965/brw_wm.c             |    2 +-
> >>   src/mesa/main/context.c                        |    8 +--
> >>   src/mesa/main/ff_fragment_shader.cpp           |   10 ++--
> >>   src/mesa/main/mtypes.h                         |    3 -
> >>   src/mesa/main/shaderapi.c                      |   32 +++++------
> >>   src/mesa/main/shaderobj.c                      |    4 -
> >>   src/mesa/main/state.c                          |   18 ++++--
> >>   src/mesa/main/texstate.c                       |   18 +++---
> >>   src/mesa/main/uniforms.c                       |   42 +++++++++-----
> >>   src/mesa/program/ir_to_mesa.cpp                |   37 ++++--------
> >>   src/mesa/program/prog_uniform.c                |   74 ------------------------
> >>   src/mesa/program/prog_uniform.h                |    4 -
> >>   src/mesa/state_tracker/st_glsl_to_tgsi.cpp     |   44 ++++-----------
> >>   src/mesa/state_tracker/st_program.c            |    9 +--
> >>   20 files changed, 111 insertions(+), 232 deletions(-)
> >>
> >
> > Commits 1-5 are unbuildable and one of them introduces crashes in many
> > piglit tests on nv50, e.g. glx-shader-sharing, glsl-bindattriblocation.
> >
> > glx-shader-sharing:
> > Program received signal SIGSEGV, Segmentation fault.
> > 0x00007ffff37b1dac in destroy_shader_program_variants_cb (userData=<optimized out>, data=<optimized out>, key=<optimized out>) at state_tracker/st_program.c:1157
> > warning: Source file is more recent than executable.
> > 1157                                      shProg->_LinkedShaders[MESA_SHADER_VERTEX]->Program);
> 
> Does Stephane's patch from the weekend 
> (http://marc.info/?l=mesa3d-dev&m=131820561425054&w=2) fix this issue? 
> If it does, you should send him a Tested-by.

Yes, this patch fixes it.

Thanks.

Marcin


More information about the mesa-dev mailing list