Method for displaying single monitor applications on multiple monitors driven by a personal computer
First Claim
1. A method of accessing multiple display frame buffers of one or more graphics adapters in a computer system, said computer system executing a software driver controlling access to said multiple frame buffers, said software driver providing a single device specific function to be used by applications for block transferring data from a source block to an identified frame buffer address, said method comprising:
- receiving a request for invoking said single device specific function to transfer an identified source block to an identified frame buffer address;
in response to receiving said request, determining that said identified source block is to be transferred to a plurality of said multiple frame buffers, wherein said plurality of frame buffers form a virtual destination surface, each one of said plurality of frame buffers associated with a pair of offsets specifying its starting location in said virtual destination surface; and
for each one of said plurality of frame buffers,a) determining a sub-block of said source block, and a destination block in said each frame buffer for said sub-block, wherein each one of said destination blocks is a rectangular block and said determining said destination block comprises;
(i) obtaining a first set of coordinates specifying starting and ending locations of said destination block in said virtual destination surface,(ii) obtaining a second set of coordinates specifying starting and ending locations of said destination block in said each frame buffer, by subtracting the offsets for said each frame buffer from said first set of coordinates; and
b) calling said single device specific function of said software driver to transfer said sub-block to said destination block in said one of said plurality of frame buffers.
5 Assignments
0 Petitions
Accused Products
Abstract
A direct access driver solves limitations of DirectX operation under the Microsoft architecture when using multiple monitors. The direct access driver allows applications employing DirectX application program interfaces to use hardware acceleration without display errors on the monitors. Display errors can occur if multiple frame buffer addresses are returned in response to “GetFrameBufferAddress” DirectX calls. A single address is returned for two or more frame buffers on a display driver card by performing, without the DirectX application'"'"'s knowledge, background operations that track hardware acceleration demands from two or more graphic user interfaces and frame buffers. The background operations entail constantly changing the frame buffer pointers relative to the location of offscreen DirectX application data, while one or more DirectX applications are moved in the display space from monitor to monitor.
-
Citations
10 Claims
-
1. A method of accessing multiple display frame buffers of one or more graphics adapters in a computer system, said computer system executing a software driver controlling access to said multiple frame buffers, said software driver providing a single device specific function to be used by applications for block transferring data from a source block to an identified frame buffer address, said method comprising:
-
receiving a request for invoking said single device specific function to transfer an identified source block to an identified frame buffer address; in response to receiving said request, determining that said identified source block is to be transferred to a plurality of said multiple frame buffers, wherein said plurality of frame buffers form a virtual destination surface, each one of said plurality of frame buffers associated with a pair of offsets specifying its starting location in said virtual destination surface; and for each one of said plurality of frame buffers, a) determining a sub-block of said source block, and a destination block in said each frame buffer for said sub-block, wherein each one of said destination blocks is a rectangular block and said determining said destination block comprises; (i) obtaining a first set of coordinates specifying starting and ending locations of said destination block in said virtual destination surface, (ii) obtaining a second set of coordinates specifying starting and ending locations of said destination block in said each frame buffer, by subtracting the offsets for said each frame buffer from said first set of coordinates; and b) calling said single device specific function of said software driver to transfer said sub-block to said destination block in said one of said plurality of frame buffers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer system comprising one or more graphics adapters having multiple display frame buffers, said computer system storing and executing a software driver controlling access to said multiple frame buffers, said software driver providing a single device specific function to be used by applications for block transferring data from a source block to an identified frame buffer address, said computer system further storing and executing computer executable instructions adapting said computer system to:
-
receive a request for invoking said single device specific function of said software driver to transfer an identified source block to an identified frame buffer address; in response to receiving said request, determine that said identified source block is to be transferred to a plurality of said multiple frame buffers, wherein said plurality of frame buffers form a virtual destination surface, each one of said plurality of frame buffers associated with a pair of offsets specifying its starting location in said virtual destination surface; and for each one of said plurality of frame buffers, a) determine a sub-block of said source block, and a destination block in said each frame buffer for said sub-block, wherein each one of said destination blocks is a rectangular block by; (ii) obtaining a first set of coordinates specifying starting and ending locations of said destination block in said virtual destination surface, (ii) obtaining a second set of coordinates specifying starting and ending locations of said destination block in said each frame buffer, by subtracting the offsets for said each frame buffer from said first set of coordinates; and b) call said single device specific function of said software driver to transfer said sub-block to said destination block in said one of said plurality of frame buffers.
-
Specification