System environment: -- chipset: ATI RV530 -- system architecture: i686 -- libdrm-dev: 2.4.26-1ubuntu1 -- mesa: ccecc08f79afc020c8c0acface04a8e53e3a7c32 (master) -- kernel version: 3.0.0-8-generic -- Linux distribution: Ubuntu 11.10 i386 Run piglit glsl-vs-varying-array test. $ ./bin/shader_runner -auto tests/shaders/glsl-vs-varying-array.shader_test r300: DRM version: 2.10.0, Name: ATI RV530, ID: 0x71c5, GB: 1, Z: 2 r300: GART size: 509 MB, VRAM size: 128 MB r300: AA compression RAM: YES, Z compression RAM: YES, HiZ RAM: YES src/mesa/state_tracker/st_glsl_to_tgsi.cpp:3176:copy_propagate: Assertion `inst->dst.file != PROGRAM_TEMPORARY || inst->dst.index < this->next_temp' failed. (gdb) bt #0 0x011be647 in _debug_assert_fail ( expr=0x1c3ff34 "inst->dst.file != PROGRAM_TEMPORARY || inst->dst.index < this->next_temp", file=0x1c3f364 "src/mesa/state_tracker/st_glsl_to_tgsi.cpp", line=3176, function=0x1c40730 "copy_propagate") at src/gallium/auxiliary/util/u_debug.c:282 #1 0x01aa9749 in glsl_to_tgsi_visitor::copy_propagate (this=0x842f140) at src/mesa/state_tracker/st_glsl_to_tgsi.cpp:3175 #2 0x01aae803 in get_mesa_program (ctx=0x8285980, shader_program=0x8497068, shader=0x84b8088) at src/mesa/state_tracker/st_glsl_to_tgsi.cpp:4733 #3 0x01aaee49 in st_link_shader (ctx=0x8285980, prog=0x8497068) at src/mesa/state_tracker/st_glsl_to_tgsi.cpp:4891 #4 0x019bb101 in _mesa_glsl_link_shader (ctx=0x8285980, prog=0x8497068) at src/mesa/program/ir_to_mesa.cpp:3423 #5 0x0198307c in link_program (ctx=0x8285980, program=3) at src/mesa/main/shaderapi.c:877 #6 0x0198459c in _mesa_LinkProgramARB (programObj=3) at src/mesa/main/shaderapi.c:1461 #7 0x0806bea4 in link_and_use_shaders () #8 0x0806dfde in piglit_init () #9 0x0806ec71 in main () (gdb) frame 1 #1 0x01aa9749 in glsl_to_tgsi_visitor::copy_propagate (this=0x842f140) at src/mesa/state_tracker/st_glsl_to_tgsi.cpp:3175 3175 assert(inst->dst.file != PROGRAM_TEMPORARY (gdb) l 3170 int level = 0; 3171 3172 foreach_iter(exec_list_iterator, iter, this->instructions) { 3173 glsl_to_tgsi_instruction *inst = (glsl_to_tgsi_instruction *)iter.get(); 3174 3175 assert(inst->dst.file != PROGRAM_TEMPORARY 3176 || inst->dst.index < this->next_temp); 3177 3178 /* First, do any copy propagation possible into the src regs. */ 3179 for (int r = 0; r < 3; r++) { (gdb) print inst->dst.file $1 = PROGRAM_TEMPORARY (gdb) print inst->dst.index $2 = 3 (gdb) print this->next_temp $3 = 3
piglit glsl-vs-varying-array passes with softpipe and llvmpipe.
Is this still an issue?
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.