Stange behavior on my Quadro 6000

I recently installed the nvidia driver for our quadro 6000 on the lastest ubuntu distribution 64 bits …

after executing the glsl shader , I got a huge black screen…
and after a painful debug , I found the origin of the black screen, it was in the following function:

/** helper functions to calculate the corresponding depth ( in meters) from the returned values of the kinect */
float ComputeDepthLinear(float discDepth)
{
if( discDepth < 2047.0)
{
return (1.0 / ( discDepth * (-0.0030711016) + 3.3309495161 ));
}
return 0.0;

}

without adding the else before the return 0.0 statement nothing is working
I replaced the function with this one :
float ComputeDepthLinear(float discDepth)
{
if( discDepth < 2047.0)
{
return (1.0 / ( discDepth * (-0.0030711016) + 3.3309495161 ));
}
else
return 0.0;
}

et voila everything works fine!!!
AFAIK the gpu executes the two paths and then select the appropriate path, but i think that he picked up the wrong path

is this a driver bug? ( the same shader has been tested on the mac and on previous nvidia drivers and on ATI cards and it works fine…)

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.