1. A method of processing a primitive program that is independent of a target application programming interface (API), comprising: obtaining the target API, wherein the target API comprises one API in a plurality of available APIs, the primitive program is compilable into a plurality of compiled versions, and each compiled version is compatible with a different API in the plurality of available APIs; determining a convention defined by the target API, wherein the convention conforms to a rule or a behavior specified by the target API; and compiling the primitive program that is independent of the target API to produce primitive program micro-code that conforms to the convention, wherein execution of the primitive program micro-code produces an ordered stream of output primitives, and wherein the primitive program micro-code is configured to generate zero or more output primitives in the ordered stream of output primitives for each input primitive.