[Mesa-dev] [Bug 91556] [Clover / OpenCL] struct and union arguments handled incorrectly, producing CL_INVALID_ARG_SIZE

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Feb 1 16:39:43 UTC 2017


https://bugs.freedesktop.org/show_bug.cgi?id=91556

--- Comment #14 from Vedran Miletić <vedran at miletic.net> ---
Should be fixed in LLLVM 4.0 with:

commit 5cb9343f53d83c9a8a33aac5b2ce01672ff02cf3
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date:   Mon Aug 22 19:25:59 2016 +0000

    AMDGPU: Handle structs directly in AMDGPUABIInfo

    Structs are currently handled as pointer + byval, which makes AMDGPU
    LLVM backend generate incorrect code when structs are used. This patch
    changes struct argument to be handled directly and without flattening,
    which Clover (Mesa 3D Gallium OpenCL state tracker) will be able to
    handle. Flattening would expand the struct to individual elements and
    pass each as a separate argument, which Clover can not
    handle. Furthermore, such expansion does not fit the OpenCL
    programming model which requires to explicitely specify each argument
    index, size and memory location.

    Patch by Vedran Miletić

    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279463
91177308-0d34-0410-b5e6-96231b3b80d8

Please recheck.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20170201/c0fcb8b9/attachment.html>


More information about the mesa-dev mailing list