I don't need the extra field on the GPU because Bidir doesn't work on the GPU (I can just use fixedDir there because it's always the camera vector).
I thought I could maybe calculate
cameraDir = camera.position - hitPoint.p;
Can I check the camera position when initializing hitPoint?