Bug 88669

Summary: clover on radeonsi fails in radeon_shader_binary_config_start
Product: Mesa Reporter: michael
Component: Drivers/Gallium/radeonsiAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED FIXED QA Contact: Default DRI bug account <dri-devel>
Severity: normal    
Priority: medium    
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 99553    
Attachments: backtrace

Description michael 2015-01-21 17:07:12 UTC
Created attachment 112609 [details]
backtrace

ImageMagick 6.9.0 with OpenCL crashes, when bluring an image.

I'm using current mesa from git (after commit 3c3e60e050ea0850fcfeb5c4c2aa4f954d54d665) on Radeon HD 7750 (Southern Islands / Cape Verde).
Comment 1 Tom Stellard 2015-01-21 22:39:51 UTC
What version of LLVM are you using?
Comment 2 michael 2015-01-21 23:51:08 UTC
I use also llvm git version (after commit 8737be85f6210693b6693b00cc425a2ad2a9a6c7)
Comment 3 Michel Dänzer 2015-01-22 03:56:04 UTC
I suspect symbol_count might be 0 in parse_symbol_table(), in which case binary->global_symbol_offsets would probably end up as NULL.

Not sure that should ever happen though. Michael, which version of libelf are you using?
Comment 4 michael 2015-01-22 07:26:06 UTC
I use libelf from elfutils 0.161
Comment 5 Tom Stellard 2015-01-22 22:01:19 UTC
Can you run the program with CLOVER_DEBUG=clc,llvm,asm and post the output.
Comment 6 michael 2015-01-26 21:15:28 UTC
I'm sorry, but I don't get any output with CLOVER_DEBUG=clc,llvm,asm
Comment 7 michael 2015-01-26 23:06:07 UTC
OK, I guess, I identified the issue.

ImageMagick cached an old OpenCL program compiled some months ago, after removing that, it does not crash any more.

Now the build fails, because cospi() and sinpi() are not yet supported by libclc.
Comment 8 Vedran Miletić 2017-03-22 15:58:14 UTC
Should be fixed by:

commit 60b42171139886edb8a64624e9126eab36f8e726
Author: Aaron Watry <awatry@gmail.com>
Date:   Thu Feb 26 15:42:00 2015 +0000

    libclc/math: Add cospi
    
    Ported from the libclc/amd-builtins branch
    
    v2: Rename sincos_f_piby4 to __libclc__sincosf_piby4
        Add cospi(double) implementation instead of using llvm.cos
    
    Notes:
    The sincosD_piby4.h file is mostly the same as the builtin implementation
    released by AMD. The inline attribute declaration is changed, and M_PI is
    used instead of a constant double. Otherwise, the only difference is that
    the header explicitly enables the fp64 pragma.
    
    Signed-off-by: Aaron Watry <awatry@gmail.com>
    Reviewed-by: Jeroen Ketema <j.ketema@imperial.ac.uk>
    CC: Tom Stellard <tom@stellard.net>
    CC: Matt Arsenault <Matthew.Arsenault@amd.com>
    
    git-svn-id: https://llvm.org/svn/llvm-project/libclc/trunk@230641 91177308-0d34-0410-b5e6-96231b3b80d8

commit 301372a1c0515e615b74d896b32e6bbcb2ffeb38
Author: Jan Vesely <jan.vesely@rutgers.edu>
Date:   Wed May 6 21:59:26 2015 +0000

    Implement sinpi builtin
    
    Ported from AMD builtin library, passes piglit on Turks.
    
    Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
    Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
    
    git-svn-id: https://llvm.org/svn/llvm-project/libclc/trunk@236647 91177308-0d34-0410-b5e6-96231b3b80d8

If this is still an issue, please reopen.

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.