https://bugs.freedesktop.org/show_bug.cgi?id=102377
Bug ID: 102377
Summary: PIPE_*_4BYTE_ALIGNED_ONLY caps crashing
Product: Mesa
Version: git
Hardware: Other
OS: All
Status: NEW
Severity: normal
Priority: medium
Component: Mesa core
Assignee: mesa-dev@lists.freedesktop.org
Reporter: timothy.o.row...@intel.com
QA Contact: mesa-dev@lists.freedesktop.org
For a potential upcoming change in the swr rasterizer, we need to set the
4BYTE_ALIGNED_ONLY caps to ensure alignment during vertex attribute fetch and
AOS to SOA conversion.
Testing with the caps caused three regressions on piglit, which can be
reproduced by setting these caps on llvmpipe. The three failing tests all have
somewhat different failure signatures, but appear to point to mesa
infrastructure problems rather than a driver issue.
/home/torowley/src/piglit/bin/copy-pixels -auto
This one appears to clobber the stack:
Thread 1 "copy-pixels" received signal SIGSEGV, Segmentation fault.
0x761a1281 in _mesa_set_vp_override (ctx=0x77eff01000, flag=0
'\000') at ../../../mesa/src/mesa/main/state.c:450
(gdb) where
#0 0x761a1281 in _mesa_set_vp_override (ctx=0x77eff01000, flag=0
'\000') at ../../../mesa/src/mesa/main/state.c:450
#1 0x760056ea in _mesa_CopyPixels (srcx=0, srcy=0, width=15360,
height=15360, type=1572930) at ../../../mesa/src/mesa/main/drawpix.c:288
#2 0x4014af00 in ?? ()
#3 0x007fffd81000 in ?? ()
/home/torowley/src/piglit/bin/draw-vertices user -auto
Thread 1 "draw-vertices" received signal SIGSEGV, Segmentation fault.
0x in ?? ()
(gdb) where
#0 0x in ?? ()
#1 0x7655234c in pipe_resource_reference (ptr=0x812350, tex=0x0) at
../../../../mesa/src/gallium/auxiliary/util/u_inlines.h:144
#2 0x7655467a in u_vbuf_set_vertex_buffers (mgr=0x811c30,
start_slot=1, count=1, bufs=0x0) at
../../../../mesa/src/gallium/auxiliary/util/u_vbuf.c:836
#3 0x764b1411 in cso_set_vertex_buffers (ctx=0x810870, start_slot=1,
count=1, buffers=0x0) at
../../../../mesa/src/gallium/auxiliary/cso_cache/cso_context.c:1144
#4 0x76268cd3 in set_vertex_attribs (st=0x7f87a0,
vbuffers=0x7fffd360, num_vbuffers=1, velements=0x7fffd370,
num_velements=1) at ../../../mesa/src/mesa/state_tr
acker/st_atom_array.c:441
#5 0x762691b2 in setup_interleaved_attribs (st=0x7f87a0, vp=0x91f370,
arrays=0x7fe408, num_inputs=1) at
../../../mesa/src/mesa/state_tracker/st_atom_array.c:563
#6 0x76269845 in st_update_array (st=0x7f87a0) at
../../../mesa/src/mesa/state_tracker/st_atom_array.c:705
#7 0x7626af3f in st_validate_state (st=0x7f87a0,
pipeline=ST_PIPELINE_RENDER) at
../../../mesa/src/mesa/state_tracker/st_atom.c:253
#8 0x76298d85 in prepare_draw (st=0x7f87a0, ctx=0x77eff010) at
../../../mesa/src/mesa/state_tracker/st_draw.c:122
#9 0x76298e1b in st_draw_vbo (ctx=0x77eff010,
prims=0x7fffd690, nr_prims=1, ib=0x0, index_bounds_valid=1 '\001',
min_index=0, max_index=2, tfb_vertcount=0x0, st
ream=0, indirect=0x0) at ../../../mesa/src/mesa/state_tracker/st_draw.c:148
#10 0x76239f91 in vbo_draw_arrays (ctx=0x77eff010, mode=4, start=0,
count=3, numInstances=1, baseInstance=0, drawID=0) at
../../../mesa/src/mesa/vbo/vbo_exec_array.c
:486
#11 0x7623a7a1 in vbo_exec_DrawArrays (mode=4, start=0, count=3) at
../../../mesa/src/mesa/vbo/vbo_exec_array.c:641
#12 0x00402363 in test_short_vertices (x1=240, y1=0, x2=260, y2=20,
index=0) at /home/torowley/src/piglit/tests/general/draw-vertices.c:282
#13 0x00403536 in piglit_display () at
/home/torowley/src/piglit/tests/general/draw-vertices.c:568
#14 0x77b3520e in process_next_event (x11_fw=0x637ed0) at
/home/torowley/src/piglit/tests/util/piglit-framework-gl/piglit_x11_framework.c:137
#15 0x77b352ce in enter_event_loop (winsys_fw=0x637ed0) at
/home/torowley/src/piglit/tests/util/piglit-framework-gl/piglit_x11_framework.c:153
#16 0x77b34041 in run_test (gl_fw=0x637ed0, argc=2,
argv=0x7fffdb58) at
/home/torowley/src/piglit/tests/util/piglit-framework-gl/piglit_winsys_framework.c:88
#17 0x77b18378 in piglit_gl_test_run (argc=2, argv=0x7fffdb58,
config=0x7fffda10) at
/home/torowley/src/piglit/tests/util/piglit-framework-gl.c:223
#18 0x00401324 in main (argc=2, argv=0x7fffdb58) at
/home/torowley/src/piglit/tests/general/draw-vertices.c:43
/home/torowley/src/piglit/bin/fbo-depthtex -auto -fbo
Thread 1 "fbo-depthtex" received signal SIGSEGV, Segmentation fault.
0x76016e4e in check_end_texture_render (ctx=0x77eff010,
fb=0x8261cf) at ../../../mesa/src/mesa/main/fbobject.c:2566
#0 0x76016e4e in check_end_texture_render (ctx=0x77eff010,
fb=0x8261cf) at ../../../mesa/src/mesa/main/fbobject.c:2566
#1 0x7601720c in