Video/graphics controller which performs pointer-based display list video refresh operation
First Claim
1. A system including a graphics controller which performs display functions, comprising:
- a CPU;
a display device including one or more video inputs for receiving video signals and including a display screen for displaying video output, wherein the display screen of the display device displays video output in response to video signals received at said one or more video inputs;
memory coupled to the CPU which stores video data, wherein the memory stores video data in a plurality of memory areas; and
a graphics controller coupled to said CPU, said memory, and said display device, wherein said graphics controller obtains portions of said video data from said plurality of memory areas in said memory and in response provides video signals to said display device;
wherein said graphics controller maintains a display list comprising a plurality of pointers which point to at least portions of said video data in one or more of said plurality of memory areas in said memory;
wherein said graphics controller uses said plurality of pointers comprised in said display list to obtain said at least portions of said video data from said one or more of said plurality of memory areas in said memory;
wherein said graphics controller provides said video signals to said display device in response to said graphics controller obtaining said at least portions of said video data from said one or more of said plurality of memory areas in said memory.
5 Assignments
0 Petitions
Accused Products
Abstract
A graphics controller (IMC) which performs pointer-based and/or display list-based video refresh operations that enable screen refresh data to be assembled on a per window or per object basis, thereby greatly increasing the performance of the graphical display. The graphics controller maintains pointers to various buffers in system memory comprising video or graphics display information. The graphics controller manipulates respective object information workspace memory areas corresponding to each object or window, wherein the workspace areas specify data types, color depths, 3D depth values, alpha blending information, screen position, etc. for the respective window or object on the screen. Each workspace area also includes static and dynamic pointers which point to the location in system memory where the pixel data for the respective window or object is stored. The graphics controller utilizes this information, as well as information received from the software driver regarding screen changes, to assemble a display refresh list in system memory. This information is used during the screen refresh to display the various windows or objects on the screen very quickly and efficiently. Thus, the video display can be updated with new video data without requiring any system bus data transfers, which are required in prior art computer system architectures. The graphics controller dynamically adjusts the display refresh list for movement of objects and changes in relative depth priority which appear on the display. Thus the video data for the various windows and objects is stored in respective memory areas in the system memory, and pointers assembled in the display refresh list are used to reference this data during screen updates. Therefore, data is not required to be moved in or out of a frame buffer to reflect screen changes. Rather, in many instances, either the video data for a respective window or object is changed, or only the pointers in the display refresh list are manipulated, to affect a screen change.
-
Citations
110 Claims
-
1. A system including a graphics controller which performs display functions, comprising:
-
a CPU; a display device including one or more video inputs for receiving video signals and including a display screen for displaying video output, wherein the display screen of the display device displays video output in response to video signals received at said one or more video inputs; memory coupled to the CPU which stores video data, wherein the memory stores video data in a plurality of memory areas; and a graphics controller coupled to said CPU, said memory, and said display device, wherein said graphics controller obtains portions of said video data from said plurality of memory areas in said memory and in response provides video signals to said display device; wherein said graphics controller maintains a display list comprising a plurality of pointers which point to at least portions of said video data in one or more of said plurality of memory areas in said memory; wherein said graphics controller uses said plurality of pointers comprised in said display list to obtain said at least portions of said video data from said one or more of said plurality of memory areas in said memory; wherein said graphics controller provides said video signals to said display device in response to said graphics controller obtaining said at least portions of said video data from said one or more of said plurality of memory areas in said memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A memory system for storing video data that is output to a display device, said memory system comprising:
-
memory including a plurality of display memory areas for storing video data for a plurality of video objects, said memory also including an object workspace memory area including attributes for each of said video objects in said display memory area; and a memory controller coupled to said memory, wherein said memory controller comprises; an execution engine which receives display change information and which assembles a display list comprising a plurality of pointers, wherein said execution engine uses said attributes in said object workspace memory area in assembling said display list, wherein said display list includes said plurality of pointers for accessing said video data for said one or more video objects within said display memory area for display on the display device; and a display refresh list engine which uses said plurality of pointers comprising said display list for accessing said video data stored in said display memory area and for providing video signals to the display device. - View Dependent Claims (32, 33, 34, 35)
-
-
36. A memory controller for performing memory control and video functions, comprising:
-
one or more memory controllers adapted for coupling to memory for controlling functions of the memory; an execution engine which is adapted to maintain a plurality of pointers in memory which reference video data corresponding to video objects, wherein said execution engine receives display change information and assembles a display list comprising said plurality of pointers; and a display refresh list engine which uses said plurality of pointers comprising said display list for accessing video data stored in memory and for providing video signals to the display device.
-
-
37. A method for displaying video data on a display screen of a display device, wherein the display screen comprises a plurality of scan lines presenting video images, the method comprising:
-
storing video data in a plurality of different memory areas in a memory for a plurality of objects which appear on said display screen; maintaining a display list of pointers which reference video data in said plurality of different memory areas for said plurality of objects, wherein said pointers are ordered in said display list to reference said video data for respective scan lines on said display screen as said scan lines are drawn on said display screen; and executing said display list to present said video data on the display screen, wherein said executing comprises using said pointers to access said video data in said plurality of different memory areas in said memory for respective scan lines as said scan lines are drawn on the display screen, wherein said executing further comprises generating video signals to said display device for display on said display screen in response to said accessed video data. - View Dependent Claims (38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67)
-
-
68. A system including a graphics controller which performs video functions, comprising:
-
a CPU; a display device for displaying video output; memory coupled to the CPU which stores video data, wherein the memory includes a plurality of memory areas storing video data for a plurality of objects; and a graphics controller coupled to said CPU, said memory, and said display device which performs video functions, wherein said graphics controller obtains said video data in said memory and provides video signals to said display device; wherein said graphics controller maintains a display list comprising a plurality of pointers which point to plurality of different areas in said memory storing said video data; wherein said graphics controller uses said plurality of pointers comprised in said display list to obtain video data from said memory and provide said video signals to said display device.
-
-
69. A system including a graphics controller which performs display functions, comprising:
-
a display device including one or more video inputs for receiving video signals and including a display screen for displaying video output, wherein the display screen of the display device displays video output in response to video signals received at said one or more video inputs; memory which stores video data; and a graphics controller coupled to said memory and said display device, wherein said graphics controller obtains portions of said video data from said memory and in response provides video signals to said display device; wherein said graphics controller maintains a display list comprising a plurality of pointers which point to at least portions of said video data in said memory; wherein said graphics controller uses said plurality of pointers comprised in said display list to obtain said at least portions of said video data from said memory; wherein said graphics controller provides said video signals to said display device in response to said graphics controller obtaining said at least portions of said video data from said memory. - View Dependent Claims (70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91)
-
-
92. A memory system for storing video data that is output to a display device, said memory system comprising:
-
memory for storing video data for a plurality of video objects, said memory also including an object workspace memory area including attributes for each of said video objects; and a memory controller coupled to said memory, wherein said memory controller comprises; an execution engine which receives display change information and which assembles a display list comprising a plurality of pointers, wherein said execution engine uses said attributes in said object workspace memory area in assembling said display list, wherein said display list includes said plurality of pointers for accessing said video data for said one or more video objects within said memory for display on the display device; and a display refresh list engine which uses said plurality of pointers comprising said display list for accessing said video data stored in said memory and for providing video signals to the display device. - View Dependent Claims (93, 94, 95, 96)
-
-
97. A method for displaying video data on a display screen of a display device, wherein the display screen comprises a plurality of scan lines presenting video images, the method comprising:
-
storing video data in a memory for a plurality of objects which appear on said display screen; maintaining a display list of pointers which reference video data in said memory for said plurality of objects, wherein said pointers are ordered in said display list to reference said video data for respective scan lines on said display screen as said scan lines are drawn on said display screen; and executing said display list to present said video data on the display screen, wherein said executing comprises using said pointers to access said video data in said memory for respective scan lines as said scan lines are drawn on the display screen, wherein said executing further comprises generating video signals to said display device for display on said display screen in response to said accessed video data. - View Dependent Claims (98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110)
-
Specification