Hello,
We are reaching a hit. In two weeks we’ve found 3 bugs in the OpenCL NV compiler. I’m starting to thinking if it would be better switch back to GLSL again…
First one is described here:
viewtopic.php?f=28&t=4856
Second one:
I have an array of structs of this kind:
struct DispMapPixel
{
float corrFactor;
float dispX;
float dispY;
};
If I change in the kernel code dispX and dispY by a float2 disp; and refactorize the code to use disp.x and disp.y, the kernel is compiled correctly, but the kernel execution crashes with CL_OUT_OF_RESOURCES (a timeout)
Third one: because I do not want to write “struct” every time before any variable declaration, I changed the above DispMapPixel declaration by this one:
typedef struct
{
float corrFactor;
float dispX;
float dispY;
} DispMapPixel;
I even tried with no luck:
typedef struct _dispMapPixelTag
{
float corrFactor;
float dispX;
float dispY;
} DispMapPixel;
and then I removed the “struct” word for all declarations in my code. Surprise: the kernel compiles but the application crashes with an exception inside nvcuda.dll
Well, its surprising to see how NV drivers could had pass the conformance tests. They really sucks.