[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