Bug 36572 - [bisected]oglc case texenv segfaults
[bisected]oglc case texenv segfaults
Status: VERIFIED FIXED
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i965
git
All Linux (All)
: high major
Assigned To: Eric Anholt
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2011-04-25 02:59 UTC by fangxun
Modified: 2011-05-19 21:12 UTC (History)
1 user (show)

See Also:


Attachments
oglc texenv output on screen (8.41 KB, text/plain)
2011-04-25 02:59 UTC, fangxun
Details

Note You need to log in before you can comment on or make changes to this bug.
Description fangxun 2011-04-25 02:59:03 UTC
Created attachment 46047 [details]
oglc texenv output on screen

System Environment:
--------------------------
Arch:           x86-64
Platform:       piketon 
Libdrm:         (master)2.4.25
Mesa:           (master)0a9cec3475fb14be8aa5fa66557d338556cd8ed5
Xserver:                (master)xorg-server-1.10.0-257-g918a9c99cf2ebc73acb34b95f597904b93c690d9
Xf86_video_intel:  (master)2.15.0-6-g67e5a74e997f199327f9115c7ba867df3c49da8d
Kernel: (drm-intel-next)daab1470018f025e0b1c8731dfb825ff421ffd9b


Bug detailed description:
-------------------------
It also happens on Sandybridge. 
Bisect shows 1f32c665c8af0622e2bbf451edb999ffbcd7d0fe is the first bad commit. commit 1f32c665c8af0622e2bbf451edb999ffbcd7d0fe
Author: Eric Anholt <eric@anholt.net>
Date:   Wed Apr 20 11:48:31 2011 -0700

    intel: Add support for ARB_sampler_objects.
    
    This extension support consists of replacing
    "gl_texture_obj->Sampler." with "_mesa_get_samplerobj(ctx, unit)->".
    One instance of referencing the texture's base sampler remains in the
    initial miptree allocation, where I'm not sure we have a clear 


Reproduce steps:
-------------------------
1. start X
2. oglconform -z -s -suite all -v 2 -D 33 -test texenv
Comment 1 fangxun 2011-04-28 01:57:44 UTC
It segfaults with INTEL_STRICT_CONFORMANCE=1.  

Four oglc cases also segfaults due to the same commit 1f32c66.  
Below are these cases: 
fptex, anisotropic-filter(basic.perspective), max_values(advanced.textureSize.thin-1d), max_values(advanced.textureSize.thin-2d), max_values(advanced.textureSize.thin-3d.
Comment 2 fangxun 2011-05-03 02:07:18 UTC
Backtrace(INTEL_STRICT_CONFORMANCE=1 ./oglconform -z -s -suite all -v 2 -D 33 -test texenv):
#0  check_fallbacks (ctx=0x7ffff69f2010, arrays=0x1ae7578, prim=0x1ae5b94, nr_prims=1, ib=0x0,
    index_bounds_valid=<value optimized out>, min_index=0, max_index=3) at brw_draw.c:293
#1  brw_try_draw_prims (ctx=0x7ffff69f2010, arrays=0x1ae7578, prim=0x1ae5b94, nr_prims=1, ib=0x0,
    index_bounds_valid=<value optimized out>, min_index=0, max_index=3) at brw_draw.c:342
#2  brw_draw_prims (ctx=0x7ffff69f2010, arrays=0x1ae7578, prim=0x1ae5b94, nr_prims=1, ib=0x0,
    index_bounds_valid=<value optimized out>, min_index=0, max_index=3) at brw_draw.c:473
#3  0x00007ffff6b4cdd2 in vbo_exec_vtx_flush (exec=<value optimized out>,
    keepUnmapped=<value optimized out>) at vbo/vbo_exec_draw.c:390
#4  0x00007ffff6b49fb4 in vbo_exec_FlushVertices_internal (exec=0x1ae58b0, unmap=<value optimized out>)
    at vbo/vbo_exec_api.c:545
#5  0x00007ffff6b4a00c in vbo_exec_FlushVertices (ctx=0x7ffff69f2010, flags=<value optimized out>)
    at vbo/vbo_exec_api.c:992
#6  0x00007ffff6c3e7c9 in set_env_mode (target=8960, pname=8704, param=0x7fffffffb7c0)
    at main/texenv.c:84
#7  _mesa_TexEnvfv (target=8960, pname=8704, param=0x7fffffffb7c0) at main/texenv.c:433
#8  0x00007ffff6c3ea73 in _mesa_TexEnvi (target=<value optimized out>, pname=<value optimized out>,
    param=<value optimized out>) at main/texenv.c:572
#9  0x000000000067ce61 in TexEnvironmentExec() ()
#10 0x0000000000c70212 in callFunctionHandleExceptionsInner(long (*)(_testParameters*), long (*)(), _testParameters*, char*) ()
#11 0x0000000000c7034a in callFunctionHandleExceptions(long (*)(_testParameters*), long (*)(), _testParameters*) ()
#12 0x0000000000c6ee33 in Driver(testR*, testF*) ()
#13 0x0000000000c21858 in Exec(_TK_EventRec*) ()
#14 0x0000000000c6de7e in tkExec(long (*)(_TK_EventRec*)) ()
#15 0x0000000000c20ba8 in tkShellExecute(long, long, long (*)(_TK_EventRec*), testR*) ()
#16 0x0000000000c26f23 in main ()
Comment 3 Eric Anholt 2011-05-18 14:24:35 UTC
commit b126a0c0cb30b1e2f2df1953fe14d8596d1cf4f7
Author: Eric Anholt <eric@anholt.net>
Date:   Tue Nov 2 09:11:17 2010 -0700

    i965: Add support for correct GL_CLAMP behavior by clamping coordinates.
    
    This removes the stupid strict-conformance fallback code I broke when
    adding ARB_sampler_objects.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=36572
    Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> (v1)
Comment 4 fangxun 2011-05-19 21:12:34 UTC
Verified with mesa master 116133af3499947500a6d0c877fbc8f564ee4c76.