Bug 33742

Summary: [SNB] oglc: brw_eu.h:177: brw_reg: Assertion `nr < 128' failed.
Product: Mesa Reporter: Gordon Jin <gordon.jin>
Component: Drivers/DRI/i965Assignee: Ian Romanick <idr>
Status: VERIFIED FIXED QA Contact:
Severity: critical    
Priority: medium CC: idr, nanhai.zou
Version: git   
Hardware: All   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Gordon Jin 2011-01-30 23:09:44 UTC
These 3 oglconform cases segfault on Sandy Bridge (both desktop and mobile) while passes on Ironlake:
(2.0)vertexshader(advanced.TestLights)
(2.0)vertexshader(advanced.TestMaterials)
(2.0)vertexshader(advanced.TestLightsTwoSided)

./oglconform64 -test vertexshader advanced.TestLights -v 2 -D 33 -s

oglconform64: brw_eu.h:177: brw_reg: Assertion `nr < 128' failed.
Aborted (core dumped)

#0  0x0000003e07e329c5 in raise () from /lib64/libc.so.6
#1  0x0000003e07e341a5 in abort () from /lib64/libc.so.6
#2  0x0000003e07e2b945 in __assert_fail () from /lib64/libc.so.6
#3  0x00007ffff6ca5858 in brw_reg (file=<value optimized out>,
    nr=<value optimized out>, subnr=<value optimized out>,
    type=<value optimized out>, vstride=<value optimized out>,
    width=<value optimized out>, hstride=1, swizzle=228, writemask=15)
    at brw_eu.h:177
#4  0x00007ffff6ca7915 in brw_vec8_reg (c=0x7ffffffcd6f0) at brw_eu.h:229
#5  brw_vec8_grf (c=0x7ffffffcd6f0) at brw_eu.h:472
#6  brw_vs_alloc_regs (c=0x7ffffffcd6f0) at brw_vs_emit.c:370
#7  0x00007ffff6ca9a36 in brw_vs_emit (c=0x7ffffffcd6f0) at brw_vs_emit.c:1898
#8  0x00007ffff6ca5049 in do_vs_prog (brw=0x1a24290, vp=0x1eac840,
    key=0x7fffffff8390) at brw_vs.c:85
#9  0x00007ffff6ca523e in brw_upload_vs_prog (brw=0x1a24290) at brw_vs.c:151
#10 0x00007ffff6ca44b6 in brw_validate_state (brw=0x1a24290)
    at brw_state_upload.c:397
#11 0x00007ffff6c9473a in brw_try_draw_prims (ctx=0x1a24290, arrays=0x1a74c08,
    prim=0x1a73324, nr_prims=1, ib=0x0,
    index_bounds_valid=<value optimized out>, min_index=0, max_index=2)
    at brw_draw.c:362
#12 brw_draw_prims (ctx=0x1a24290, arrays=0x1a74c08, prim=0x1a73324,
    nr_prims=1, ib=0x0, index_bounds_valid=<value optimized out>, min_index=0,
    max_index=2) at brw_draw.c:447
#13 0x00007ffff6d74eee in vbo_exec_vtx_flush (exec=<value optimized out>,
    unmap=<value optimized out>) at vbo/vbo_exec_draw.c:381
#14 0x00007ffff6d720bc in vbo_exec_FlushVertices_internal (
    ctx=<value optimized out>, unmap=<value optimized out>)
    at vbo/vbo_exec_api.c:911
#15 0x00007ffff6d7210a in vbo_exec_FlushVertices (ctx=<value optimized out>,
    flags=1) at vbo/vbo_exec_api.c:945
#16 0x00007ffff6d31c76 in _mesa_ReadPixels (x=50, y=50, width=1, height=1,
    format=6408, type=5126, pixels=0x7fffffff8600) at main/readpix.c:171
#17 0x0000000000701725 in DrawLitAndTestResult(char*, float*, float*, vec4*, vec
4*, vec4*, vec3*, unsigned int, int, int) ()
#18 0x00000000007034e0 in TestLights() ()
#19 0x000000000070393f in ShaderVertexShaderExec(_testParameters*) ()
#20 0x0000000000c2262e in callFunctionHandleExceptionsInner(long (*)(_testParameters*), long (*)(), _testParameters*, char*) ()
#21 0x0000000000c2277a in callFunctionHandleExceptions(long (*)(_testParameters*), long (*)(), _testParameters*) ()
#22 0x0000000000c211a3 in Driver(testR*, testF*) ()
#23 0x0000000000be40ab in Exec(_TK_EventRec*) ()
#24 0x0000000000c2019e in tkExec(long (*)(_TK_EventRec*)) ()
#25 0x0000000000be1308 in tkShellExecute(long, long, long (*)(_TK_EventRec*), testR*) ()
#26 0x0000000000be2807 in main ()

The assertion failure looks similar to bug#30173
Comment 1 Gordon Jin 2011-03-23 18:45:49 UTC
unblocking Q1 release.
Comment 2 Eric Anholt 2011-07-19 11:16:37 UTC
This should be handled as part of the new VS backend.
Comment 3 Eric Anholt 2011-10-20 10:33:45 UTC
Looks like this is fixed with the new VS.
Comment 4 Gordon Jin 2011-10-24 18:55:37 UTC
Right, they are passing on both SNB and IVB, on both mesa master and 7.11 branch.

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.