Primitive program compilation for flat attributes with provoking vertex independence
First Claim
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.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods for compiling high-level primitive programs are used to generate primitive program micro-code for execution by a primitive processor. A compiler is configured to produce micro-code for a specific target primitive processor based on the target primitive processor'"'"'s capabilities. The compiler supports features of the high-level primitive program by providing conversions for different applications programming interface conventions, determining output primitive types, initializing attribute arrays based on primitive input profile modifiers, and determining vertex set lengths from specified primitive input types.
-
Citations
20 Claims
-
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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A non-transitory computer readable medium storing instructions that, when executed by a processor, cause the processor to process a primitive program that is independent of a target application programming interface (API), by performing the steps of:
-
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. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification