If i do this in my kernel, I get nothing.
//pos is the array I am passing in from the host application to the kernel //F is a constant value //float4 x_i = pos[index]; //float4 F = make_float4(0,-0.0098,0,0); float4 newVal = x_i+F; pos[index] = newVal;
If I change it to this,
float4 newVal = make_float4(x_i.x+F.x, x_i.y+F.y, x_i.z+F.z, 1.0f); pos[index] = newVal;
I get the correct output. Could anyone tell me why the first version does not work while the second one does?