Skip to content

Cant address input array with index >= 2^23 #314

@nickhingston

Description

@nickhingston

I have a problem with addressing an input array at 8388608 or higher.
the resultant value is incorrect - i think it is returning a value a few indexes left or right of the required element (as image is kinda recognisably corrupt after this point). I guess some integers with Float32 overflow issue.

Using cpu mode fixes the problem. so thought it was similar to #241 which I'm also seeing on certain hardware.

I tried breaking up the array into a 2d array, and this improved things, but have a similar issue when the combined index >= 2^24 - so gets twice as far before image corrupting.

so...i tried a 3d array...same result as 2d.

Finally, I have it working but had to send the 3d array as separate parameters in the kernel function.
e.g.

myKernelFunction(threeDArray[0], threeDArray[1], threeDArray[2], ...)

which makes my code more complex than it needs to be, esp as in the kernel i cant seem to assign a variable to the correct array part. I guess all variables created by the shader compiler are Float32?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions