Hey there!
Thanks for the update, but it produces some new error- This is the output i get:
<kernel>:9414:30: warning: passing 'const __global float *' to parameter of type '__global float *' discards qualifiers
VSTORE3F(origP + uu * dpdu, &hitPoint->p.x);
^~~~~~~~~~~~~~
<kernel>:94:47: note: passing argument to parameter 'p' here
void VSTORE3F(const float3 v, __global float *p) {
^
<kernel>:9415:17: error: read-only variable is not assignable
hitPoint->uv.u += uu;
~~~~~~~~~~~~~~ ^
<kernel>:9416:46: warning: passing 'const __global float *' to parameter of type '__global float *' discards qualifiers
VSTORE3F(normalize(origShadeN + uu * dndu), &hitPoint->shadeN.x);
^~~~~~~~~~~~~~~~~~~
<kernel>:94:47: note: passing argument to parameter 'p' here
void VSTORE3F(const float3 v, __global float *p) {
^
<kernel>:9423:30: warning: passing 'const __global float *' to parameter of type '__global float *' discards qualifiers
VSTORE3F(origP + vv * dpdv, &hitPoint->p.x);
^~~~~~~~~~~~~~
<kernel>:94:47: note: passing argument to parameter 'p' here
void VSTORE3F(const float3 v, __global float *p) {
^
<kernel>:9424:17: error: read-only variable is not assignable
hitPoint->uv.u = origUV.s0;
~~~~~~~~~~~~~~ ^
<kernel>:9425:17: error: read-only variable is not assignable
hitPoint->uv.v += vv;
~~~~~~~~~~~~~~ ^
<kernel>:9426:46: warning: passing 'const __global float *' to parameter of type '__global float *' discards qualifiers
VSTORE3F(normalize(origShadeN + vv * dndv), &hitPoint->shadeN.x);
^~~~~~~~~~~~~~~~~~~
<kernel>:94:47: note: passing argument to parameter 'p' here
void VSTORE3F(const float3 v, __global float *p) {
^
<kernel>:9432:18: warning: passing 'const __global float *' to parameter of type '__global float *' discards qualifiers
VSTORE3F(origP, &hitPoint->p.x);
^~~~~~~~~~~~~~
<kernel>:94:47: note: passing argument to parameter 'p' here
void VSTORE3F(const float3 v, __global float *p) {
^
<kernel>:9433:19: warning: passing 'const __global float *' to parameter of type '__global float *' discards qualifiers
VSTORE2F(origUV, &hitPoint->uv.u);
^~~~~~~~~~~~~~~
<kernel>:82:47: note: passing argument to parameter 'p' here
void VSTORE2F(const float2 v, __global float *p) {
^
<kernel>

20: warning: passing 'const __global float *' to parameter of type '__global float *' discards qualifiers
VSTORE3F(shadeN, &hitPoint->shadeN.x);
^~~~~~~~~~~~~~~~~~~
<kernel>:94:47: note: passing argument to parameter 'p' here
void VSTORE3F(const float3 v, __global float *p) {
^
<kernel>

18: warning: passing 'const __global float *' to parameter of type '__global float *' discards qualifiers
VSTORE3F(dpdu, &hitPoint->dpdu.x);
^~~~~~~~~~~~~~~~~
<kernel>:94:47: note: passing argument to parameter 'p' here
void VSTORE3F(const float3 v, __global float *p) {
^
<kernel>

18: warning: passing 'const __global float *' to parameter of type '__global float *' discards qualifiers
VSTORE3F(dpdv, &hitPoint->dpdv.x);
^~~~~~~~~~~~~~~~~
<kernel>:94:47: note: passing argument to parameter 'p' here
void VSTORE3F(const float3 v, __global float *p) {
^