[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