initial support for geometry shader