using surface instead of array, slower. closing branch and reverting back to pitched memory