From: bugzilla-daemon@freedesktop.org
To: dri-devel@lists.freedesktop.org
Subject: [Bug 34545] New: [gallium] segfault with vertarrays in mixed user/gpu buffers
Date: Mon, 21 Feb 2011 13:13:04 -0800 (PST) [thread overview]
Message-ID: <bug-34545-502@http.bugs.freedesktop.org/> (raw)
https://bugs.freedesktop.org/show_bug.cgi?id=34545
Summary: [gallium] segfault with vertarrays in mixed user/gpu
buffers
Product: Mesa
Version: git
Platform: x86-64 (AMD64)
OS/Version: Linux (All)
Status: NEW
Severity: normal
Priority: medium
Component: Drivers/Gallium/r300
AssignedTo: dri-devel@lists.freedesktop.org
ReportedBy: wixorpeek@gmail.com
CC: maraeo@gmail.com
Created an attachment (id=43618)
--> (https://bugs.freedesktop.org/attachment.cgi?id=43618)
the test case
Hello, while researching for bug 34418 I have encountered an segmentation fault
trigerred when the __first__ vertex array is placed in user buffer and the
second on gpu. When first array in on gpu and second in user buffer, invalid
rendering occurs. This is gallium-wide (happens with both r300g and swrastg),
although I cannot extract meaningful backtrace from swrastg. My shot is that
is_interleaved_arrays in st_draw.c handles those cases incorrectly (at least
that's the code that gave me inspiration to write the test). Interestingly, the
backtraces from r300g have changed between HEAD and before-2a904fd6a0c (before
"set vertex arrays state only when necessary"). This is propably correct. The
current one is
#0 radeon_add_reloc (rcs=0x7f5b1e508010, buf=0x0, rd=R300_DOMAIN_GTT, wd=0) at
radeon_drm_cs.c:230
#1 radeon_drm_cs_add_reloc (rcs=0x7f5b1e508010, buf=0x0, rd=R300_DOMAIN_GTT,
wd=0) at radeon_drm_cs.c:297
#2 0x00007f5b1a79f032 in r300_emit_buffer_validate (r300=0x16993a0,
do_validate_vertex_buffers=<value optimized out>, index_buffer=<value optimized
out>)
at r300_emit.c:1192
#3 0x00007f5b1a7a21f1 in r300_emit_states (r300=0x16993a0, flags=<value
optimized out>, index_buffer=0x2, buffer_offset=0, index_bias=0) at
r300_render.c:252
#4 0x00007f5b1a7a3d95 in r300_draw_arrays (pipe=0x16993a0, info=<value
optimized out>) at r300_render.c:710
#5 r300_draw_vbo (pipe=0x16993a0, info=<value optimized out>) at
r300_render.c:775
#6 0x00007f5b1a849de8 in st_draw_vbo (ctx=<value optimized out>, arrays=<value
optimized out>, prims=<value optimized out>, nr_prims=1, ib=0x0,
index_bounds_valid=<value optimized out>, min_index=0, max_index=31) at
state_tracker/st_draw.c:717
#7 0x00007f5b1a8e18fb in vbo_draw_arrays (ctx=0x16bb170, mode=6, start=0,
count=<value optimized out>, numInstances=1) at vbo/vbo_exec_array.c:615
#8 0x0000000000400e1f in render () at immedcrash.c:15
while the old one is
#0 0x00007f74d66a823a in u_vbuf_mgr_set_vertex_buffers (mgrb=0x1ea5060,
count=1, bufs=0x0) at util/u_vbuf_mgr.c:482
#1 0x00007f74d64e50aa in r300_set_vertex_buffers (pipe=0x1eb6360, count=1,
buffers=0x7fff228a33d0) at r300_state.c:1491
#2 0x00007f74d6586fcf in st_draw_vbo (ctx=<value optimized out>, arrays=<value
optimized out>, prims=<value optimized out>, nr_prims=<value optimized out>,
ib=<value optimized out>, index_bounds_valid=<value optimized out>,
min_index=0, max_index=31) at state_tracker/st_draw.c:707
#3 0x00007f74d661ee4b in vbo_draw_arrays (ctx=0x1ee3f10, mode=6, start=0,
count=<value optimized out>, numInstances=1) at vbo/vbo_exec_array.c:593
#4 0x0000000000400e1f in render () at immedcrash.c:15
--
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
next reply other threads:[~2011-02-21 21:13 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-21 21:13 bugzilla-daemon [this message]
2011-02-22 8:36 ` [Bug 34545] [gallium] segfault with vertarrays in mixed user/gpu buffers bugzilla-daemon
2011-02-22 8:58 ` bugzilla-daemon
2011-02-22 13:18 ` bugzilla-daemon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=bug-34545-502@http.bugs.freedesktop.org/ \
--to=bugzilla-daemon@freedesktop.org \
--cc=dri-devel@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.