[Beignet] Assertion failed in newIntegerImmediate

Lorenzo Pistone blaffablaffa at gmail.com
Tue Sep 29 13:25:43 PDT 2015


After further investigation, it turns out that the problem is the > 
operator (and isgreater() aswell). In fact, prepending this to the kernel:

    #define isgreater(x, y) ((convert_int2(copysign((float2)1, y - x)) -
    1) / 2)

and replacing the > operator with the explicit relational function fixes 
the problem.
I also forgot to mention that I'm on Ivy Bridge hardware.

Il 29/09/2015 21:07, Lorenzo Pistone ha scritto:
> Hello, the following kernel causes an assertion failed:
>
>     __kernel void test(__global float2* ff){
>         float2 f1 = ff[0], f2 = ff[1];
>         float2 dist = f1 - f2;
>         dist += convert_float2(fabs(dist) > 0.5f) *
>     convert_float2(copysign((coord)1, dist));
>         ff[3] = dist;
>     }
>
> Result is:
>
>     ASSERTION FAILED: Not supported
>       at file
>     /home/pisto/sorgenti/beignet/backend/src/./ir/context.hpp,
>     function gbe::ir::ImmediateIndex
>     gbe::ir::Context::newIntegerImmediate(int64_t, gbe::ir::Type), line 95
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/beignet/attachments/20150929/9dc28113/attachment.html>


More information about the Beignet mailing list