How do I filter only the root terms in a vocabulary in a view?
For displaying only the root terms, I have a solution which surely will make someone facepalm (at least I did that):


Add a contextual filter to your taxonomy view
Select Taxonomy term: parent term. 

Set it up like this: When a filter value is not available: Provide default value - Fixed value. Set the value to 0.


Yeah, that's all. Terms without parent have 0 here. See the description of the parent field of the taxonomy_term_hierarchy table:


  Primary Key: The {taxonomy_term_data}.tid of the term's parent. 0
  indicates no parent.