Claims
- 1. A method for improving the performance of a plurality of graphics applications executing on a graphics subsystem having a video memory apportioned into a plurality of slices for storing graphics data, where the graphic subsystem is configured to support applications having a first number of bits per pixel, and said graphics applications executes using a plurality of second, smaller, numbers of bits per pixel, comprising the step of:
- storing pixels in said video memory such that corresponding bytes of different pixels of graphics data are stored in different, simultaneously accessible slices of said video memory, and such that adjacent bytes of the same pixels of graphics data are stored in different slices of said video memory.
- 2. A method for storing a plurality of pixels in a memory apportioned into a plurality of slices, with each slice storing a predetermined number of bytes of pixel data, said memory arranged to store a first portion of said plurality of pixels having a first number of bytes per pixel, and a second portion of said plurality of pixels having a second number of bytes per pixel, where said second number of bytes per pixel is less than or equal to said first number of bytes per pixel, said method for storing comprising the steps of:
- arranging said first portion of pixels having a first number of bytes per pixel and said second portion of pixels having a second number of bytes per pixel into a plurality of groups of pixel data, where each of said groups of pixel data comprises said predetermined number of bytes of data and where each of said groups of pixel data comprises corresponding bytes of data from different pixels; and
- allocating said groups of pixel data to said plurality of slices such that groups of pixel data comprising corresponding bytes of data from said first portion of pixels are each stored in different ones of said plurality of slices.
- 3. The method according to claim 2, further comprising the step of:
- allocating said groups of pixel data to said plurality of slices such that upon a read to said memory, said bytes of said first pixels and said bytes of said second pixels are provided in order to an interface bus.
- 4. The method according to claim 2, further comprising the step of:
- rearranging said groups of pixel data on said video bus such that upon a write to memory, bytes of said first pixels and bytes of said second pixels are provided in order to said video memory.
- 5. An apparatus comprising:
- a graphics processor;
- a video bus, coupled to said graphics processor;
- a memory apportioned into a plurality of slices for storing a plurality of pixel data, said pixel data comprising a first portion of pixel data having a first number of bytes per pixel and a second portion of pixel data having a second number of bytes per pixel, where corresponding bytes of different pixels of graphics data are stored in different, simultaneously accessible slices of said memory and where adjacent bytes of the same pixels of graphics data are stored in different slices of said video memory.
- 6. The apparatus of claim 5, further comprising:
- a merge buffer, coupled to said graphics processor for combining successive writes to said memory;
- a plurality of controllers, coupled to said merge buffer, each of said plurality of controllers for independently controlling storing of data in a corresponding one of said plurality of slices of said memory.
- 7. An apparatus comprising:
- means for providing a plurality of pixel data on a pixel bus;
- a plurality of memory controllers, each coupled to said means for providing pixels, each of said plurality of controllers including a dedicated buffer for storing a portion of said pixel data from said pixel bus;
- a memory coupled to said plurality of controllers, said memory apportioned into a plurality of slices corresponding to said number of dedicated buffers, each slice receiving data from a corresponding one of said dedicated buffers, where reads and writes to each of said slices are independently controlled by said plurality of controllers.
- 8. The apparatus of claim 7, further comprising:
- a byte mask register, coupled said means for providing pixel data, said byte mask register comprising a plurality of byte enables corresponding to the number of bytes of pixel data on said pixel bus, said plurality of byte enables apportioned into a plurality of groups of byte enables responsive to said number of slices of memory, each of said groups of byte enables stored in a corresponding one of said dedicated buffers for enabling an associated memory controller to operate on data in said corresponding buffer.
- 9. The apparatus of claim 8 further comprising:
- means, responsive to said byte mask register, for selective storage of portions of said pixel data in said dedicated buffers.
- 10. The apparatus of claim 7, further comprising:
- means, coupled to said means for providing pixel data, for rearranging said individual pixels on said pixel bus such that said pixel data is stored in said memory such that corresponding bytes of said pixels data are each stored in simultaneously accessible locations of said memory.
Parent Case Info
This application is a continuation of application Ser. No. 08/584,995, filed Jan. 11, 1996 now abandoned which is a continuation of application Ser. No. 08/270,194 filed July 1, 1994 now abandoned.
US Referenced Citations (3)
Non-Patent Literature Citations (1)
| Entry |
| IBM Microelectronics Catalog, RGB561, Workstation Graphics, Preliminary Rev. 1.0, Mar. 23, 1994, pp. i-66. |
Continuations (2)
|
Number |
Date |
Country |
| Parent |
584995 |
Jan 1996 |
|
| Parent |
270194 |
Jul 1994 |
|