1. A graphics processing unit, comprising: at least one execution unit, the at least one execution unit being configured for multi-threaded operation, wherein the at least one execution unit is configured to execute at least one thread for programmable triangle setup operations and programmable attribute setup operations via software instructions, wherein the software instructions define programmable attribute setup operations for processing attributes corresponding to pixels prior to execution of a pixel shader thread; wherein the at least one execution unit is programmable to execute at least one thread for the pixel shader responsive to completion of the at least one thread for the programmable attribute setup operations; the at least one execution unit is configured to suspend at least one thread created for the programmable triangle setup operations and the programmable attribute setup operations; the at least one execution unit is further configured to output data from the programmable triangle setup operations from the at least one thread to at least one hardware component external to the at least one execution unit; the at least one execution unit is further configured to resume the suspended at least one thread in response to receiving data corresponding to the at least one thread; and the at least one execution unit is further configured to store result data from the at least one thread in a buffer within the at least one execution unit for use by a subsequent thread created by the at least one execution unit.