[Mesa-dev] [Bug 93977] Clover does not respect alignment of pointer arguments

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Feb 3 08:14:16 UTC 2016


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

            Bug ID: 93977
           Summary: Clover does not respect alignment of pointer arguments
           Product: Mesa
           Version: git
          Hardware: Other
                OS: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: Other
          Assignee: mesa-dev at lists.freedesktop.org
          Reporter: arsenm2 at gmail.com
        QA Contact: mesa-dev at lists.freedesktop.org

The handling of arguments seems to not account for the required alignment of
pointer kernel arguments. The alignment is tracked for the pointer value
itself, but nothing is recording the alignment of the pointer element type
needed for the runtime to provide the correctly aligned pointer.

I believe this is why the conformance test kernel_memory_alignment_local fails
for all of the parameter tests. The global and constant versions seem to work,
I'm assuming because every allocated buffer happens to have an alignment of 16
or higher anyway.

Also here:
         const unsigned arg_store_size = TD.getTypeStoreSize(arg_type);

         // OpenCL 1.2 specification, Ch. 6.1.5: "A built-in data
         // type that is not a power of two bytes in size must be
         // aligned to the next larger power of two".  We need this
         // alignment for three element vectors, which have
         // non-power-of-2 store size.
         const unsigned arg_api_size = util_next_power_of_two(arg_store_size);

TD.getTypeAllocSize(arg_type) should be used instead of manually rounding it.

-- 
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: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20160203/9c8b771d/attachment.html>


More information about the mesa-dev mailing list