1. A computer system method comprising: receiving descriptions of a plurality of passes comprising sets of passes; for each set of passes, wherein a first pass of the set is a destination pass and a second pass of the set is a source pass respectively; determining one or more dependencies of one or more dependency types between commands of the destination pass and the source pass; creating pass objects that record the commands and the determined dependencies between the corresponding destination and source passes; and submitting the commands for execution according to the corresponding pass objects.