Bug 27652

Summary: &ctx->Meta->Save is NULL in _mesa_meta_begin
Product: Mesa Reporter: Tormod Volden <bugzi11.fdo.tormod>
Component: Drivers/DRI/SavageAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: Other   
OS: All   
URL: https://bugs.launchpad.net/bugs/562718
Whiteboard:
i915 platform: i915 features:

Description Tormod Volden 2010-04-14 15:08:04 UTC
glblur crashes upon start on savage. Both in 7.7.1 and git master.

#0  0x00812907 in _mesa_meta_begin (ctx=0x80743b8, state=96) at drivers/common/meta.c:327
        save = 0x0
#1  0x00818373 in copy_tex_image (ctx=0x80743b8, dims=2, target=3553, level=0, internalFormat=6409, x=0, y=0, width=128, height=128, border=0) at drivers/common/meta.c:2561
        texObj = 0x81a9a38
        texImage = 0x81a9d40
        postConvWidth = 128
        postConvHeight = 128
        format = 6409
        type = 5121
        bpp = 1
        buf = 0x81a9e00
#2  0x00818628 in _mesa_meta_CopyTexImage2D (ctx=0x80743b8, target=3553, level=0, internalFormat=6409, x=0, y=0, width=128, height=128, border=0) at drivers/common/meta.c:2624
No locals.
#3  0x00763d9c in _mesa_CopyTexImage2D (target=3553, level=0, internalFormat=6409, x=0, y=0, width=128, height=128, border=0) at main/teximage.c:2831
        texObj = 0x81a9a38
        texImage = <value optimized out>
        postConvWidth = 128
        postConvHeight = 128
        face = 0
        ctx = 0x80743b8

Where line 327 is the last line here:

static void
_mesa_meta_begin(GLcontext *ctx, GLbitfield state)
{
   struct save_state *save = &ctx->Meta->Save;

   save->SavedState = state;
Comment 1 Tormod Volden 2010-04-14 15:50:44 UTC
Actually ctx->Meta is NULL, like if _mesa_meta_init() has not been called.
Comment 2 Tormod Volden 2010-04-14 16:19:01 UTC
So if I break on _mesa_meta_begin and call _mesa_meta_init(ctx) manually before continuing it works, kind of. No crashes, but there are some other issues like not seeing anything unless I click in the window.

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.