[Mesa-dev] [Bug 61012] New: alloc_layout_array tx * ty assertion failure when making pbuffer current
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Sun Feb 17 09:44:18 PST 2013
https://bugs.freedesktop.org/show_bug.cgi?id=61012
Priority: medium
Bug ID: 61012
Assignee: mesa-dev at lists.freedesktop.org
Summary: alloc_layout_array tx * ty assertion failure when
making pbuffer current
Severity: normal
Classification: Unclassified
OS: Linux (All)
Reporter: freedesktop at fluggo.com
Hardware: x86 (IA32)
Status: NEW
Version: 9.0
Component: GLX
Product: Mesa
The following(ish) code produces an assertion failure using llvmpipe libGL from
Mesa 9.0.2:
GLXContext new_context = glXCreateNewContext(
__display, configs[0], GLX_RGBA_TYPE, NULL, True );
if( !new_context )
g_error( "Failed to create context." );
int pbuf_attrs[] = { GLX_PBUFFER_WIDTH, 8, GLX_PBUFFER_HEIGHT, 8,
GLX_PRESERVED_CONTENTS, False, None };
GLXPbuffer pbuf = glXCreatePbuffer( __display, configs[0], pbuf_attrs );
if( pbuf == None )
g_error( "Failed to create XGL pixel buffer." );
if( !glXMakeContextCurrent( __display,
pbuf,
pbuf,
new_context ) ) {
g_error( "Failed to set context current." );
}
src/gallium/drivers/llvmpipe/lp_texture.c:93:alloc_layout_array: Assertion
`num_slices * tx * ty > 0' failed.
In alloc_layout_array, tx and ty are zero. These values seem to come from state
stored with the pbuffer; Mesa is trying to realize the drawable during the
glXMakeContextCurrent call.
Near as I can tell, the call responsible for storing that state with the
pbuffer is this code:
http://cgit.freedesktop.org/mesa/mesa/tree/src/gallium/state_trackers/glx/xlib/xm_api.c?id=369e46888904c6d379b8b477d9242cff1608e30e#n460
A call to get_drawable_size retrieves the size of the pbuffer drawable into
local variables width and height, but these values never make it into the
XMesaBuffer structure.
Backtrace:
#0 0xb696717a in _debug_assert_fail (expr=0xb725b888 "num_slices * tx * ty >
0", file=
0xb725b85c "src/gallium/drivers/llvmpipe/lp_texture.c", line=93,
function=0xb725c140 "alloc_layout_array")
at src/gallium/auxiliary/util/u_debug.c:278
#1 0xb6641058 in alloc_layout_array (num_slices=1, width=0, height=0) at
src/gallium/drivers/llvmpipe/lp_texture.c:93
#2 0xb66413f4 in llvmpipe_displaytarget_layout (screen=0x8714b98,
lpr=0x8b43460) at src/gallium/drivers/llvmpipe/lp_texture.c:216
#3 0xb66415c5 in llvmpipe_resource_create (_screen=0x8714b98,
templat=0xbfffdf44) at src/gallium/drivers/llvmpipe/lp_texture.c:263
#4 0xb66c29db in xmesa_st_framebuffer_validate_textures (stfbi=0x87040c8,
width=0, height=0, mask=1)
at src/gallium/state_trackers/glx/xlib/xm_st.c:171
#5 0xb66c2b2e in xmesa_st_framebuffer_validate (stfbi=0x87040c8,
statts=0x8b433c4, count=1, out=0xbfffe028)
at src/gallium/state_trackers/glx/xlib/xm_st.c:224
#6 0xb66e122c in st_framebuffer_validate (stfb=0x8b43088, st=0x8b3d7f0) at
src/mesa/state_tracker/st_manager.c:195
#7 0xb66e2226 in st_api_make_current (stapi=0xb75d2700, stctxi=0x8b3d7f0,
stdrawi=0x87040c8, streadi=0x87040c8)
at src/mesa/state_tracker/st_manager.c:734
#8 0xb66c1dec in XMesaMakeCurrent2 (c=0x8a60e00, drawBuffer=0x8767aa8,
readBuffer=0x8767aa8)
at src/gallium/state_trackers/glx/xlib/xm_api.c:1189
#9 0xb66c4b36 in glXMakeContextCurrent (dpy=0x87261b8, draw=54525953,
read=54525953, ctx=0x8a56290)
at src/gallium/state_trackers/glx/xlib/glx_api.c:1161
#10 0xb7af9807 in gl_set_current_context (context=0x8b43078) at
src/cprocess/gl.c:152
#11 0xb7af9bcf in gl_ensure_context () at src/cprocess/gl.c:185
...and so on...
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20130217/3452df41/attachment.html>
More information about the mesa-dev
mailing list