Closed for Company Meetings: Between September 18 (5pm PDT) and September 22 (12pm PDT), Support and Sales requests will be delayed. Only time-sensitive issues will be addressed during that time. Thanks for your patience.
Yes, this is an unfortunate side effect of some subtle differences between OpenGL pixel shaders and direct pixel processing on the CPU. In OpenGL, the sampling coordinates are generated by rasterizing a quad and interpolating across the rasterized pixels. This produces slightly different 2d coordinates, which accounts for the difference you're seeing. You can use the [nearest] operator to have better results on the CPU. In the end, the solution for using [sample] will be some kind of different sampling mode that's equivalent to what happens in OpenGL.