• Chuanbo Weng's avatar
    Use vload to read unaligned data instead of dereference operator. · c5552788
    Chuanbo Weng authored
    According to opencl 1.2 spec 6.1.5:
        For arguments to a __kernel function declared to be a pointer to a
        data type, the OpenCL compiler can assume that the pointee is always
        appropriately aligned as required by the data type. The behavior of
        an unaligned load or store is undefined, except for the
        vloadn, vload_halfn, vstoren, and vstore_halfn functions defined in
        section 6.12.7.
    
    Original code read data of type T from address not aligned by multiple
    of sizeof(T), so the result is incorrect. With this patch, the cases
    ./opencv_perf_imgproc
    --gtest_filter=OCL_ImgSize_TmplSize_Method_MatType_MatchTemplate.MatchTemplate/*
    could work well with beignet 0.9.3.
    Signed-off-by: 's avatarChuanbo Weng <chuanbo.weng@intel.com>
    c5552788
match_template.cl 22 KB