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

Ian Romanick idr at freedesktop.org
Mon Oct 10 10:18:26 PDT 2011


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.


More information about the mesa-dev mailing list