R600: initial copy of r300 code