[Mesa-dev] Mesa (master): mesa: Dynamically allocate the storage for program local parameters.

Michel Dänzer michel at daenzer.net
Sun Nov 17 23:57:23 PST 2013


On Fre, 2013-11-15 at 11:50 -0800, Eric Anholt wrote:
> Module: Mesa
> Branch: master
> Commit: e5885c119de1e508099cc1111e1c9f8ff00fab88
> URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e5885c119de1e508099cc1111e1c9f8ff00fab88
> 
> Author: Eric Anholt <eric at anholt.net>
> Date:   Fri Sep 20 10:13:32 2013 -0700
> 
> mesa: Dynamically allocate the storage for program local parameters.

This change caused 16 piglit tests (3 in spec/ARB_fragment_program and
13 in spec/ARB_vertex_program) to crash for me with radeonsi and
llvmpipe. Example backtrace from
spec/ARB_fragment_program/fp-dst-aliasing-1 with llvmpipe:

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff20d4140 in _mesa_fetch_state (value=0x6c1750, state=0x6c16f8, ctx=0x7fffee0fd010) at ../../../src/mesa/program/prog_statevars.c:371
371	               COPY_4V(value, ctx->FragmentProgram.Current->Base.LocalParams[idx]);
(gdb) bt
#0  0x00007ffff20d4140 in _mesa_fetch_state (value=0x6c1750, state=0x6c16f8, ctx=0x7fffee0fd010) at ../../../src/mesa/program/prog_statevars.c:371
#1  _mesa_load_state_parameters (ctx=0x7fffee0fd010, paramList=paramList at entry=0x6c17b0) at ../../../src/mesa/program/prog_statevars.c:1085
#2  0x00007ffff2079173 in st_upload_constants (st=0x6b8040, params=0x6c17b0, shader_type=1) at ../../../src/mesa/state_tracker/st_atom_constbuf.c:74
#3  0x00007ffff2077939 in st_validate_state (st=st at entry=0x6b8040) at ../../../src/mesa/state_tracker/st_atom.c:202
#4  0x00007ffff208029f in st_Clear (ctx=0x7fffee0fd010, mask=1) at ../../../src/mesa/state_tracker/st_cb_clear.c:396
#5  0x00007ffff7af01b5 in stub_glClear (mask=16384) at /home/daenzer/src/piglit-git/piglit/tests/util/generated_dispatch.c:1935
#6  0x0000000000405aa5 in Test::run (this=0x6c1970) at /home/daenzer/src/piglit-git/piglit/tests/shaders/vpfp-generic.cpp:190
#7  0x0000000000405d4c in TestGroup::run (this=0x60ab20 <tests>) at /home/daenzer/src/piglit-git/piglit/tests/shaders/vpfp-generic.cpp:232
#8  0x000000000040654d in piglit_display () at /home/daenzer/src/piglit-git/piglit/tests/shaders/vpfp-generic.cpp:378
#9  0x00007ffff7aea940 in run_test (gl_fw=0x60b010, argc=2, argv=0x7fffffffe6a8) at /home/daenzer/src/piglit-git/piglit/tests/util/piglit-framework-gl/piglit_winsys_framework.c:76
#10 0x00007ffff7ae7393 in piglit_gl_test_run (argc=2, argv=0x7fffffffe6a8, config=0x7fffffffe570) at /home/daenzer/src/piglit-git/piglit/tests/util/piglit-framework-gl.c:191
#11 0x00000000004059c1 in main (argc=2, argv=0x7fffffffe6a8) at /home/daenzer/src/piglit-git/piglit/tests/shaders/vpfp-generic.cpp:176



-- 
Earthling Michel Dänzer            |                  http://www.amd.com
Libre software enthusiast          |                Mesa and X developer



More information about the mesa-dev mailing list