Replicating primitives across multiple viewports
First Claim
Patent Images
1. A graphics processor system, comprising:
- a cull geometry pipeline to cull geometries, the cull geometry pipeline including;
a first vertex fetcher, implemented at least partly in one or more of configurable logic or fixed-functionality logic hardware, to fetch vertices,a first vertex shader, implemented at least partly in one or more of configurable logic or fixed-functionality logic hardware, communicatively coupled to the first vertex fetcher to shade the fetched vertices,a first primitive assembler, implemented at least partly in one or more of configurable logic or fixed-functionality logic hardware, communicatively coupled to the first vertex shader to assemble primitives including an original primitive,a first primitive replicator, implemented at least partly in one or more of configurable logic or fixed-functionality logic hardware, communicatively coupled to the first primitive assembler to replicate primitives for at least a first and a second viewport, wherein the first primitive replicator is to generate replicated primitives of the original primitive and adjust respective position attributes of the replicated primitives of the original primitive for the second viewport relative to the first viewport, anda primitive culler, implemented at least partly in one or more of configurable logic or fixed-functionality logic hardware, communicatively coupled to the first primitive replicator to cull the original primitive only in response to all of the replicated primitives of the original primitive being identified as not visible, wherein the primitive culler is to generate visibility information identifying whether the original primitive is to be culled by the primitive culler;
a replay geometry pipeline communicatively coupled to the cull geometry pipeline, the replay geometry pipeline including;
a second vertex fetcher, implemented at least partly in one or more of configurable logic or fixed-functionality logic hardware, to fetch vertices,a second vertex shader, implemented at least partly in one or more of configurable logic or fixed-functionality logic hardware, communicatively coupled to the second vertex fetcher to shade the fetched vertices,a second primitive assembler, implemented at least partly in one or more of configurable logic or fixed-functionality logic hardware, communicatively coupled to the second vertex shader to assemble primitives, anda second primitive replicator, implemented at least partly in one or more of configurable logic or fixed-functionality logic hardware, communicatively coupled to the second primitive assembler to replicate primitives for at least the first and the second viewport; and
a visibility store communicatively coupled between the cull geometry pipeline and the replay geometry pipeline to store the visibility information,wherein the replay geometry pipeline is to access the visibility store, skip a process on the original primitive in response to the original primitive being identified by the visibility information as culled, and process the original primitive in response to the original primitive being identified by the visibility information as not culled.
1 Assignment
0 Petitions
Accused Products
Abstract
An embodiment of a graphics processor pipeline apparatus may include a vertex fetcher to fetch vertices, a vertex shader communicatively coupled to the vertex fetcher to shade the fetched vertices, a primitive assembler communicatively coupled to the vertex shader to assemble primitives, and a primitive replicator communicatively coupled to the primitive assembler to replicate primitives for at least a first and a second viewport.
-
Citations
22 Claims
-
1. A graphics processor system, comprising:
-
a cull geometry pipeline to cull geometries, the cull geometry pipeline including; a first vertex fetcher, implemented at least partly in one or more of configurable logic or fixed-functionality logic hardware, to fetch vertices, a first vertex shader, implemented at least partly in one or more of configurable logic or fixed-functionality logic hardware, communicatively coupled to the first vertex fetcher to shade the fetched vertices, a first primitive assembler, implemented at least partly in one or more of configurable logic or fixed-functionality logic hardware, communicatively coupled to the first vertex shader to assemble primitives including an original primitive, a first primitive replicator, implemented at least partly in one or more of configurable logic or fixed-functionality logic hardware, communicatively coupled to the first primitive assembler to replicate primitives for at least a first and a second viewport, wherein the first primitive replicator is to generate replicated primitives of the original primitive and adjust respective position attributes of the replicated primitives of the original primitive for the second viewport relative to the first viewport, and a primitive culler, implemented at least partly in one or more of configurable logic or fixed-functionality logic hardware, communicatively coupled to the first primitive replicator to cull the original primitive only in response to all of the replicated primitives of the original primitive being identified as not visible, wherein the primitive culler is to generate visibility information identifying whether the original primitive is to be culled by the primitive culler; a replay geometry pipeline communicatively coupled to the cull geometry pipeline, the replay geometry pipeline including; a second vertex fetcher, implemented at least partly in one or more of configurable logic or fixed-functionality logic hardware, to fetch vertices, a second vertex shader, implemented at least partly in one or more of configurable logic or fixed-functionality logic hardware, communicatively coupled to the second vertex fetcher to shade the fetched vertices, a second primitive assembler, implemented at least partly in one or more of configurable logic or fixed-functionality logic hardware, communicatively coupled to the second vertex shader to assemble primitives, and a second primitive replicator, implemented at least partly in one or more of configurable logic or fixed-functionality logic hardware, communicatively coupled to the second primitive assembler to replicate primitives for at least the first and the second viewport; and a visibility store communicatively coupled between the cull geometry pipeline and the replay geometry pipeline to store the visibility information, wherein the replay geometry pipeline is to access the visibility store, skip a process on the original primitive in response to the original primitive being identified by the visibility information as culled, and process the original primitive in response to the original primitive being identified by the visibility information as not culled. - View Dependent Claims (2, 18, 19)
-
-
3. A graphics processor pipeline apparatus, comprising:
-
a vertex fetcher, implemented at least partly in one or more of configurable logic or fixed-functionality logic hardware, to fetch vertices; a vertex shader, implemented at least partly in one or more of configurable logic or fixed-functionality logic hardware, communicatively coupled to the vertex fetcher to shade the fetched vertices; a primitive assembler, implemented at least partly in one or more of configurable logic or fixed-functionality logic hardware, communicatively coupled to the vertex shader to assemble primitives including an original primitive; a primitive replicator, implemented at least partly in one or more of configurable logic or fixed-functionality logic hardware, communicatively coupled to the primitive assembler to replicate primitives for at least a first and a second viewport, wherein the primitive replicator is to generate replicated primitives of the original primitive and adjust respective position attributes of the replicated primitives of the original primitive for the second viewport relative to the first viewport; a primitive culler, implemented at least partly in one or more of configurable logic or fixed-functionality logic hardware, communicatively coupled to the primitive replicator to cull the original primitive only in response to all of the replicated primitives of the original primitive being identified as not visible; and a replay geometry pipeline, implemented at least partly in one or more of configurable logic or fixed-functionality logic hardware, communicatively coupled to the primitive culler, to skip a process on the original primitive in response to the original primitive being culled by the primitive culler, and to process the original primitive in response to the original primitive not being culled by the primitive culler. - View Dependent Claims (4, 5, 6, 20, 21, 22)
-
-
7. A method of processing graphics, comprising:
-
fetching vertices; shading the fetched vertices; assembling primitives, including an original primitive, based on the shaded vertices; replicating primitives for at least a first and a second viewport, wherein the replicating includes generating replicated primitives of the original primitive and adjusting respective position attributes of the replicated primitives of the original primitive for the second viewport relative to the first viewport; culling the original primitive only in response to all of the replicated primitives of the original primitive being identified as not visible; skipping, at a replay geometry pipeline, a process on the original primitive in response to the original primitive being culled; and processing the original primitive at the replay geometry pipeline in response to the original primitive not being culled. - View Dependent Claims (8, 9, 10)
-
-
11. At least one non-transitory computer readable storage media comprising a set of instructions, which when executed by a computing device, cause the computing device to:
-
fetch vertices; shade the fetched vertices; assemble primitives, including an original primitive, based on the shaded vertices; replicate primitives for at least a first and a second viewport by a generation of replicated primitives of the original primitive and an adjustment of respective position attributes of the replicated primitives of the original primitive for the second viewport relative to the first viewport; cull the original primitive only in response to all of the replicated primitives of the original primitive being identified as being not visible; skip, at a replay geometry pipeline, a process on the original primitive in response to the original primitive being culled; and process the original primitive at the replay geometry pipeline in response to the original primitive not being culled. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
Specification