Add viewport

Signed-off-by: Ian Macalinao <me@ian.pw>