Serial rendering system with auto-synchronization on frame blanking
Assignee3Dlabs Inc., Ltd.
InventorDavid Robert Baldwin
Life of this patent
Estimating the term…
Abstract
A device and method for providing a frame buffer interface to a serial rendering system which automatically synchronizes with data in the rendering path before blanking the active frame. To prevent rewriting to a frame buffer of rendered data before the current rendered data can be displayed, the disclosed embodiment provides that when the data is ready to be displayed, all further writes to the buffer are suspended, while all other accesses throughout the system are allowed to proceed. When the vblank command is received, data is passed to the display system for display, and writes to that buffer are re-enabled. When writes to a specific buffer portion are suspended, all other processes may continue independently.
Claims30
A method for controlling a framebuffer memory having a first buffer portion and a second buffer portion comprising the steps of:
- receiving data into a framebuffer unit from a data bus, said data comprising instruction bits and data bits;
- if the instruction bits correspond to a read command then reading from a location in said first buffer portion indicated by said data bits and placing the contents of said location on said data bus;
- if the instruction bits correspond to a write command then writing a portion of said data bits to a location in said first buffer portion indicted by said data bits;
- if the instruction bits correspond to a suspend-until-frame-blank command, then suspending all write operations on said first buffer portion until a frame-blank command is received;
- when a frame-blank command is received, then displaying data from said first buffer portion and re-enabling all write operations on said first buffer portion.
A memory control system comprising:
- a frame buffer memory having a first buffer portion and a second buffer portion;
- a control logic connected to receive and communicate a control signal comprising instruction and data segments;
- a read circuit connected between said control logic and said memory for reading from specific addresses specified by said control logic and returning the contents of said addresses to said control logic;
- a write circuit connected between said control logic and said memory for writing to or clearing specific addresses or groups of addresses in said memory according to said control logic;
- a suspend circuit connected to disable said write circuit when a suspend-until-frame-blank command is received by said control logic;
- wherein said control logic is connected to said write circuit to clear a specific said buffer portion and re-enable said write circuit when a frame-blank command is received.
A pipelined graphics system comprising:
- a data bus;
- a rendering circuit connected to said data bus;
- a frame buffer memory having a first buffer portion and a second buffer portion;
- a control logic connected to said data bus to receive and communicate a control signal comprising instruction and data segments;
- a read circuit connected between said data bus and said memory for reading from specific addresses specified by said control logic and returning the contents of said addresses to said control logic;
- a write circuit connected between said data bus and said memory for writing to or clearing specific addresses or groups of addresses in said memory according to said control logic;
- a suspend circuit connected to disable said write circuit when a suspend-until-frame-blank command is received by said control logic;
- and
- a display circuit for displaying some portion of the contents of said memory;
- wherein when said write circuit is disabled, all other circuits continue to operate;
- wherein said control logic is connected to said write circuit to re-enable said write circuit when a frame-blank command is received.
A graphics processing subsystem, comprising:
- an input buffer;
- a rasterizer, connected to read messages from said input buffer and to generate a sequence of pixel locations accordingly;
- one or more differential data analyzers, operatively connected to receive messages from said rasterizer, and connected to provide a sequence of incrementally changing parameter values for sequences of pixel locations defined by messages received from said rasterizer;
- a plurality of additional processing units, operatively connected in series in a pipeline relationship, and jointly operatively connected to receive messages from said differential data analyzers;
- plural ones of said additional processing units each having customized hardware which is different from one another and from said differential data analyzers;
- said processing units being mutually interconnected in a pipeline relationship, such that individual ones of said processing units receive messages and, in accordance with the content of each said respective message, programmably perform a respective graphics processing operation, and selectably transmit said respective message to a succeeding one of said processing units;
- at least one framebuffer memory connected to at least one of said processing unit;
- a control logic connected to disable write access to said memory when a suspend-until-frame-blank command is received;
- and
- wherein a control logic is connected to a write circuit of said memory to re-enable write access to said memory when a frame-blank command is received;
- and
- whereby said plural processing units jointly provide a pipelined multiple-instruction-multiple-device (MIMD) graphics processing architecture.
Dependencies are inferred from the claim text.