IP Library Granted Patent US 9,092,873
Granted Patent B2
US 9,092,873 · App. 13/363,864 · Granted Jul 28, 2015

Rasterizer packet generator for use in graphics processor

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,092,873
App. No.
13/363,864
Granted
Jul 28, 2015
Kind
B2
Abstract

A rasterizer in a graphic processor device implemented on a field programmable gate array circuitry (FPGA). The rasterizer comprises a preprocessor that creates data packets to generate at least one line, a main module that generates a stream of data fragments that become pixels, and a postprocessor that combines the data fragments and pipeline commands into one output to a fragment processor.

Claims (40)

1. A rasterizer in a graphic processor device implemented on a field programmable gate array circuitry, comprising:

a preprocessor that receives commands and vertices and creates data packets to generate at least one line;

a main module that generates a stream of data fragments that become pixels, wherein the main module further comprises a multi-threading packet processing engine that determines a dominant axis having a larger change in value in the line and sequences the vertices so that vertex coordinates increase along the dominant axis; and

a postprocessor that combines the data fragments and pipeline commands into one output to a fragment processor.

2. The rasterizer of claim 1 , wherein the multi-threading packet processing engine further comprises:

an input event module that parses incoming data packets and prepares them for processing.

3. The rasterizer of claim 1 , wherein the multi-threading packet processing engine further comprises:

a setup event module that calculates all gradients for the incoming data packets.

4. The rasterizer of claim 1 , wherein the multi-threading packet processing engine further comprises:

a draw event module performs actual fragment generation for the incoming data packets.

5. The rasterizer of claim 1 , wherein the multi-threading packet processing engine further comprises:

a thread packet processing unit (TPU).

6. The rasterizer of claim 5 , wherein the TPU further comprises:

a PreSetup_Event process that executes in the TPU and decodes command bits to determine how to interpret vertex data.

7. The rasterizer of claim 5 , wherein the TPU further comprises:

a Setup_Event process that executes in the TPU and determines if the line generation is for a line or triangle edge.

8. The rasterizer of claim 5 , wherein the TPU further comprises:

a Kill_Packet process that deallocates the data packet's memory.

9. A hardware description language (HDL) design structure encoded on a non-transitory machine-readable data storage medium, the HDL design structure comprising elements that when executed in a computer-aided design system generate a machine-executable representation of a rasterizer in a graphic processor device implemented on a field programmable gate array circuitry, wherein the HDL design structure comprises:

a preprocessor module that, when executed, receives commands and vertices and creates data packets to generate at least one line;

a main module that, when executed, generates a stream of data fragments that become pixels, wherein the main module further comprises a multi-threading packet processing module that, when executed, determines a dominant axis having a larger change in value in the line and sequences the vertices so that vertex coordinates increase along the dominant axis; and

a postprocessor module that, when executed, combines the data fragments and pipeline commands into one output to a fragment processor.

10. The HDL design structure of claim 9 , wherein the HDL design structure further comprises:

a plurality of buffer modules that, when executed, allow for storage while downstream modules are continuing to process previous data.

11. The HDL design structure of claim 9 , wherein the multi-threading packet processing engine module further comprises:

an input event module that, when executed, parses incoming data packets and prepares them for processing;

a setup event module that, when executed, calculates all gradients for the incoming data packets; and

a draw event module that, when executed, performs actual fragment generation for the incoming data packets.

12. The HDL design structure of claim 9 , wherein the multi-threading packet processing module further comprises:

a thread packet processing unit (TPU) module.

13. The HDL design structure of claim 9 , wherein the TPU further comprises:

a PreSetup_Event process that, when executed, decodes command bits to determine how to interpret vertex data;

a Setup_Event process that, when executed, determines if the line generation is for a line or triangle edge; and

a Kill_Packet process that, when executed, deallocates the data packet's memory.

14. The HDL design structure of claim 9 , wherein the HDL design structure comprises a netlist.

15. The HDL design structure of claim 9 , wherein the HDL design structure resides in a field programmable gate array.

16. An improved rasterizer for use in a graphic processor device implemented on a field programmable gate array (FPGA) circuitry, the improvement therein comprising:

that the FPGA rasterizer includes a preprocessor that receives commands and vertices and creates data packets to generate at least one line;

the FPGA rasterizer further includes a main module that generates a stream of data fragments that become pixels, wherein the main module further comprises a multi-threading packet processing engine that determines a dominant axis having a larger change in value in the line and sequences the vertices so that vertex coordinates increase along the dominant axis; and

wherein the FPGA rasterizer further includes a postprocessor that combines the data fragments and pipeline commands into one output to a fragment processor.

Assignments (3)
CHANGE OF NAME Recorded Feb 7, 2023
From: L-3 COMMUNICATIONS CORPORATION
To: L3 TECHNOLOGIES, INC.
Reel/Frame 062668/0003 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 027641 FRAME 0148. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNEE NAME IS "L-3 COMMUNICATIONS CORPORATION". Recorded Feb 23, 2015
From: DUTTON, MARCUS FRANKLIN
To: L-3 COMMUNICATIONS CORPORATION
Reel/Frame 035061/0102 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2012
From: DUTTON, MARCUS FRANKLIN
To: L3 COMMUNICATIONS CORPORATION
Reel/Frame 027641/0148 →