Added near-exhaustive argument validation in enqueueReadImage