1. A method for performing graphics processing, the method comprising: accessing a dependency graph, the dependency graph comprising a plurality of interconnected nodes, each node having one or more output attributes, wherein the dependency graph receives one or more input attributes; accessing a first list, wherein the first list includes a dirty status for each dirty output attribute of the dependency graph; accessing a second list, wherein the second list associates at least one of the one or more input attributes with output attributes that are affected by the at least one of the one or more input attributes; accessing a third list, wherein the third list associates at least one of the output attributes with output attributes that affect the at least one of the output attributes; receiving an evaluation request for a requested output attribute; and evaluating, using a processor, a set of output attributes, the set of output attributes selected for evaluation based on the set of output attributes being specified in the first list as dirty and the set of output attributes being specified in the third list as associated with the requested output attribute.