Conventional computing systems may include a discrete graphics processing unit (dGPU) or an integral graphics processing unit (iGPU). The discrete GPU and integral GPU are heterogeneous because of their different designs. The integrated GPU generally has relatively poor processing performance compared to the discrete GPU. However, the integrated GPU generally consumes less power compared to the discrete GPU. A heterogeneous graphics processing computing system attempts to utilize the discrete and integral computing devices to improve overall performance.
In the conventional art, the operating system handles all input/output request packets (IRP) for graphics devices. Accordingly, in a graphics co-processing computing system, handling of IRPs is limited by any restrictions imposed, intentionally or unintentionally, by the operating system. Such restrictions may limit the overall performance. Therefore, there is a need to enable IRP handling techniques that are not limited by the operating system.
The present technology may best be understood by referring to the following description and accompanying drawings that are used to illustrate embodiments of the present technology.
Embodiments of the present technology are directed toward input/output request packet (IRP) handling techniques by a device specific kernel mode driver. In one embodiment, the technique includes receiving by a device specific kernel mode driver a dispatch table including a plurality of input/output manager function pointers from an input/output manager. The dispatch table including the plurality of input/output manager function pointers is sent from device specific kernel mode driver to an operating system kernel mode driver. A dispatch table including the plurality of input/output manager function pointers and a plurality of operating system function pointers is receiving by the device specific kernel mode driver from the operating system kernel mode driver. The dispatch table including the plurality of input/output manager function pointers and the plurality of operating system function pointers is stored by the device specific kernel mode driver. The device specific kernel mode driver also creates a dispatch table including the plurality of input/output manager function pointers and the plurality of operating system functions wherein one or more of the operating system function pointers are replaced by one or more device specific kernel mode driver function pointers. The dispatch table including the plurality of input/output manager function pointers and the plurality of operating system functions wherein one or more of the operating system function pointers are replaced by one or more device specific kernel mode driver function pointers are sent by the device specific kernel mode driver to an input/output manager.
Thereafter, input/output request packets are received by a device specific kernel mode driver. The device specific kernel mode driver determines if any of the input/output request packets should receive a given handling. If an input/output request packet should receive the given handling, the input/output request packet is dispatched to a device specific dispatch IRP handler. If the input/output request packet should not receive the given handling the input/output request packet is redirected to an operating system dispatch IRP handler.
In another embodiment, the technique includes passing a dispatch table including a plurality of input/output manager function pointers from an input/output manager to a device specific kernel mode driver. The dispatch table including the plurality of input/output manager function pointers is passed from the device specific kernel mode driver to an operating system kernel mode driver. A dispatch table including the plurality of input/output manager function pointers and a plurality of operating system function pointers is passed from the operating system kernel mode driver to the device specific kernel mode driver. The dispatch table including the plurality of input/output manager function pointers and the plurality of operating system function pointers is stored in a dispatch table of device specific kernel mode driver. A dispatch table including the plurality of input/output manager function pointers and the plurality of operating system functions wherein one or more of the operating system function pointers are replaced by one or more device specific kernel mode driver function pointers is passed from the device specific kernel mode driver to the input/output manager.
Thereafter, input/output request packets are passed from an input/output manager to a dispatch function of the device specific kernel mode driver. The dispatch function determines if the input/output request packet should receive a given handling. The input/output request packet is dispatched from the dispatch function to a device specific dispatch IRP handler if the input/output request packet is to receive the given handling. Otherwise, the input/output request packet is redirected from the dispatch handler to an operating system dispatch IRP handler if the input/output request packet is not to receive the given handling.
Embodiments of the present technology are illustrated by way of example and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements and in which:
Reference will now be made in detail to the embodiments of the present technology, examples of which are illustrated in the accompanying drawings. While the present technology will be described in conjunction with these embodiments, it will be understood that they are not intended to limit the invention to these embodiments. On the contrary, the invention is intended to cover alternatives, modifications and equivalents, which may be included within the scope of the invention as defined by the appended claims. Furthermore, in the following detailed description of the present technology, numerous specific details are set forth in order to provide a thorough understanding of the present technology. However, it is understood that the present technology may be practiced without these specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily obscure aspects of the present technology.
Embodiments of the present technology enable the ability to hook one or more IRPs and decide how to handle the IRPs. Embodiments may be utilized to provide a given handling for one or more hooked IRPs.
Referring to
The computing device-readable media 120, 125 may be characterized as primary memory and secondary memory. Generally, the secondary memory, such as a magnetic and/or optical storage, provides for non-volatile storage of computer-readable instructions and data for use by the computing device. For instance, the disk drive 125 may store the operating system (OS), applications and data. In one implementation, the operating system may be a Windows Operating System from Microsoft Corporation in Redmond, Wash., U.S.A. The primary memory, such as the system memory 120 and/or graphics memory, provides for volatile storage of computer-readable instructions and data for use by the computing device. For instance, the system memory 120 may temporarily store a portion of the operating system, a portion of one or more applications and associated data that are currently used by the CPU 105, GPU 110 and the like.
Generally, the GPU attached to the display 140 is designated as the primary GPU 110 and the other GPU is designated as the secondary GPU 115. However, the secondary GPU 115 may be the primary computational unit. In other implementation, the computation workload may be dynamically switched between the primary and secondary GPU 110, 115 based on processing performance, power consumption, and the like parameters.
Referring now to
The device specific kernel mode driver 220, for the secondary GPU 115, calls the OS graphics driver subsystem. In one implementation, the device specific kernel mode driver 220 calls an operating system (OS) kernel mode driver (e.g., dxgkrnl.sys) 230. In one implementation, the device specific kernel mode driver 220 calls a driver entry point (e.g., DxgkInitialize) of the OS kernel mode driver 230. The device specific kernel mode driver 220 passes a dispatch table 224-2 in a driver object 222-2 to the OS kernel mode driver 230. The dispatch table 224-2 passed to the OS kernel mode driver 230 includes the I/O manager function pointers.
After receiving the dispatch table 224-2, the OS kernel mode driver 230 returns back to the device specific kernel mode driver 220. When returning back to the device specific kernel mode driver 220, the dispatch table 224-3, passed in a driver object 222-3, includes a plurality of pointers to functions of the OS kernel mode driver 230 and may also include the I/O manager function pointers. The plurality of functions pointers of the OS kernel mode driver 230 includes function pointers to OS dispatch IRP handlers 236. The device specific kernel mode driver 220 stores a copy of the dispatch table 224-3 received from the OS kernel mode driver 230 as dispatch table 224-4. The device specific kernel mode driver 220 also creates a dispatch table 224-5 by replacing one or more OS function pointers with one or more pointers to a dispatch handler in the device specific kernel mode driver 220. The replaced function pointers are for calls that are to receive a given handling. In one implementation, the given handling may be a power control function. In one implementation, the function pointer to the OS dispatch IRP handler 236 in the OS dispatch table 224-3 that is for turning on or off the GPU, is replaced with a function pointer to the device specific kernel mode driver dispatch IRP handler 226 local to the device specific kernel mode driver 220.
The device specific kernel mode driver 220 for the secondary GPU 115 then returns back to the I/O manager 210. When returning back to the I/O manager 210, the dispatch table 224-5, passed in a driver object 222-4, includes a plurality of pointers to functions of OS kernel mode driver and the device kernel mode driver 220. The function pointers to the device specific kernel mode driver 220 include pointers to the dispatch IRP handlers 226 of the device specific kernel mode driver 220, and the dispatch table 224-4.
Accordingly, the I/O manager 210, device specific kernel mode driver and OS kernel mode driver 230 pass around a dispatch table 224 in the driver object 222. The I/O manager 210, device specific kernel mode driver and OS kernel mode driver 230 each fill the dispatch table with their respective function pointers. The device specific kernel mode driver 220, however, replaces one or more OS kernel mode driver 230 function pointers with pointers to the device specific kernel mode dispatch IRP handlers 226.
Referring now to
If the IRP is not to receive the given handling, the dispatch function 228 redirects the IRP back to the OS dispatch IRP handler 236 of the OS kernel mode driver 230 using an OS function pointer in the dispatch table 224-4 stored by the device specific kernel mode driver 220. In response, the OS dispatch IRP handler 236 of the OS kernel mode driver 230 calls a function of the OS kernel mode driver and/or routes the IRP to a lower driver, if needed. If the IRP is completed through the OS kernel mode driver 230, the OS kernel mode driver 230 reports completion back to the I/O manager 210.
The given handling may be provided by the functions of the device specific kernel mode driver 220, instead of the OS kernel mode driver 230. Accordingly, embodiments of the present technology enable IRP handling techniques that are not limited by the operating system.
The foregoing descriptions of specific embodiments of the present technology have been presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed, and obviously many modifications and variations are possible in light of the above teaching. The embodiments were chosen and described in order to best explain the principles of the present technology and its practical application, to thereby enable others skilled in the art to best utilize the present technology and various embodiments with various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the claims appended hereto and their equivalents.
Number | Name | Date | Kind |
---|---|---|---|
3940740 | Coontz | Feb 1976 | A |
4208810 | Rohner et al. | Jun 1980 | A |
4412281 | Works | Oct 1983 | A |
4449730 | Oberleitner et al. | May 1984 | A |
4541075 | Dill et al. | Sep 1985 | A |
4773044 | Sfarti et al. | Sep 1988 | A |
4885703 | Deering | Dec 1989 | A |
4918626 | Watkins et al. | Apr 1990 | A |
4949280 | Littlefield | Aug 1990 | A |
4951220 | Ramacher et al. | Aug 1990 | A |
4985988 | Littlebury | Jan 1991 | A |
5036473 | Butts et al. | Jul 1991 | A |
5077660 | Haines et al. | Dec 1991 | A |
5081594 | Horsley | Jan 1992 | A |
5107455 | Haines et al. | Apr 1992 | A |
5125011 | Fung | Jun 1992 | A |
5276893 | Savaria | Jan 1994 | A |
5287438 | Kelleher | Feb 1994 | A |
5313287 | Barton | May 1994 | A |
5345587 | Fehskens et al. | Sep 1994 | A |
5379405 | Ostrowski | Jan 1995 | A |
5392437 | Matter et al. | Feb 1995 | A |
5400777 | Olsson et al. | Mar 1995 | A |
5408606 | Eckart | Apr 1995 | A |
5432898 | Curb et al. | Jul 1995 | A |
5446836 | Lentz et al. | Aug 1995 | A |
5448496 | Butts et al. | Sep 1995 | A |
5452104 | Lee | Sep 1995 | A |
5452412 | Johnson, Jr. et al. | Sep 1995 | A |
5455536 | Kono et al. | Oct 1995 | A |
5483258 | Cornett et al. | Jan 1996 | A |
5498975 | Cliff et al. | Mar 1996 | A |
5513144 | O'Toole | Apr 1996 | A |
5513354 | Dwork et al. | Apr 1996 | A |
5517666 | Ohtani et al. | May 1996 | A |
5530457 | Helgeson | Jun 1996 | A |
5543935 | Harrington | Aug 1996 | A |
5570463 | Dao | Oct 1996 | A |
5574847 | Eckart et al. | Nov 1996 | A |
5578976 | Yao | Nov 1996 | A |
5594854 | Baldwin et al. | Jan 1997 | A |
5623692 | Priem et al. | Apr 1997 | A |
5630171 | Chejlava, Jr. et al. | May 1997 | A |
5633297 | Valko et al. | May 1997 | A |
5634107 | Yumoto et al. | May 1997 | A |
5638946 | Zavracky | Jun 1997 | A |
5664162 | Dye | Sep 1997 | A |
5671376 | Bucher et al. | Sep 1997 | A |
5694143 | Fielder et al. | Dec 1997 | A |
5705938 | Kean | Jan 1998 | A |
5766979 | Budnaitis | Jun 1998 | A |
5768178 | McLaury | Jun 1998 | A |
5778348 | Manduley et al. | Jul 1998 | A |
5805833 | Verdun | Sep 1998 | A |
5809230 | Pereira | Sep 1998 | A |
5815162 | Levine | Sep 1998 | A |
5821949 | Deering | Oct 1998 | A |
5854631 | Akeley et al. | Dec 1998 | A |
5854637 | Sturges | Dec 1998 | A |
5872902 | Kuchkuda et al. | Feb 1999 | A |
5884053 | Clouser et al. | Mar 1999 | A |
5896391 | Solheim et al. | Apr 1999 | A |
5909595 | Rosenthal et al. | Jun 1999 | A |
5913218 | Carney et al. | Jun 1999 | A |
5937173 | Olarig et al. | Aug 1999 | A |
5956252 | Lau et al. | Sep 1999 | A |
5956505 | Manduley | Sep 1999 | A |
5968175 | Morishita et al. | Oct 1999 | A |
5977987 | Duluk, Jr. | Nov 1999 | A |
5996996 | Brunelle | Dec 1999 | A |
5999990 | Sharrit et al. | Dec 1999 | A |
6003083 | Davies et al. | Dec 1999 | A |
6003100 | Lee | Dec 1999 | A |
6028608 | Jenkins | Feb 2000 | A |
6034699 | Wong et al. | Mar 2000 | A |
6038348 | Carley | Mar 2000 | A |
6049870 | Greaves | Apr 2000 | A |
6065131 | Andrews et al. | May 2000 | A |
6067262 | Irrinki et al. | May 2000 | A |
6067633 | Robbins et al. | May 2000 | A |
6069540 | Berenz et al. | May 2000 | A |
6072500 | Foran et al. | Jun 2000 | A |
6072686 | Yarbrough | Jun 2000 | A |
6085269 | Chan et al. | Jul 2000 | A |
6094116 | Tai et al. | Jul 2000 | A |
6098118 | Ellenby et al. | Aug 2000 | A |
6104407 | Aleksic et al. | Aug 2000 | A |
6104417 | Nielsen et al. | Aug 2000 | A |
6115049 | Winner et al. | Sep 2000 | A |
6118394 | Onaya | Sep 2000 | A |
6128000 | Jouppi et al. | Oct 2000 | A |
6129070 | Jingu et al. | Oct 2000 | A |
6137918 | Harrington et al. | Oct 2000 | A |
6160557 | Narayanaswami | Dec 2000 | A |
6160559 | Omtzigt | Dec 2000 | A |
6188394 | Morein et al. | Feb 2001 | B1 |
6201545 | Wong et al. | Mar 2001 | B1 |
6204859 | Jouppi et al. | Mar 2001 | B1 |
6219070 | Baker et al. | Apr 2001 | B1 |
6219628 | Kodosky et al. | Apr 2001 | B1 |
6249288 | Campbell | Jun 2001 | B1 |
6249853 | Porterfield | Jun 2001 | B1 |
6255849 | Mohan | Jul 2001 | B1 |
6256758 | Abramovici et al. | Jul 2001 | B1 |
6259460 | Gossett et al. | Jul 2001 | B1 |
6307169 | Sun et al. | Oct 2001 | B1 |
6317804 | Levy et al. | Nov 2001 | B1 |
6323699 | Quiet | Nov 2001 | B1 |
6323874 | Gossett | Nov 2001 | B1 |
6348811 | Haycock et al. | Feb 2002 | B1 |
6359623 | Larson | Mar 2002 | B1 |
6362819 | Dalal et al. | Mar 2002 | B1 |
6363285 | Wey | Mar 2002 | B1 |
6363295 | Akram et al. | Mar 2002 | B1 |
6366289 | Johns | Apr 2002 | B1 |
6366968 | Hunsaker | Apr 2002 | B1 |
6370603 | Silverman et al. | Apr 2002 | B1 |
6377898 | Steffan et al. | Apr 2002 | B1 |
6388590 | Ng | May 2002 | B1 |
6389585 | Masleid et al. | May 2002 | B1 |
6392431 | Jones | May 2002 | B1 |
6429288 | Esswein et al. | Aug 2002 | B1 |
6429747 | Franck et al. | Aug 2002 | B2 |
6429877 | Stroyan | Aug 2002 | B1 |
6433657 | Chen | Aug 2002 | B1 |
6437657 | Jones | Aug 2002 | B1 |
6437780 | Baltaretu et al. | Aug 2002 | B1 |
6452595 | Montrym et al. | Sep 2002 | B1 |
6469707 | Voorhies | Oct 2002 | B1 |
6480205 | Greene et al. | Nov 2002 | B1 |
6486425 | Seki | Nov 2002 | B2 |
6501564 | Schramm et al. | Dec 2002 | B1 |
6504542 | Voorhies et al. | Jan 2003 | B1 |
6504841 | Larson et al. | Jan 2003 | B1 |
6522329 | Ihara et al. | Feb 2003 | B1 |
6525737 | Duluk, Jr. et al. | Feb 2003 | B1 |
6529207 | Landau et al. | Mar 2003 | B1 |
6530045 | Cooper et al. | Mar 2003 | B1 |
6530049 | Abramovici et al. | Mar 2003 | B1 |
6535986 | Rosno et al. | Mar 2003 | B1 |
6550030 | Abramovici et al. | Apr 2003 | B1 |
6598194 | Madge et al. | Jul 2003 | B1 |
6606093 | Gossett et al. | Aug 2003 | B1 |
6611272 | Hussain et al. | Aug 2003 | B1 |
6614444 | Duluk, Jr. et al. | Sep 2003 | B1 |
6614448 | Garlick et al. | Sep 2003 | B1 |
6624823 | Deering | Sep 2003 | B2 |
6629181 | Alappat et al. | Sep 2003 | B1 |
6633197 | Sutardja | Oct 2003 | B1 |
6633297 | McCormack et al. | Oct 2003 | B2 |
6636212 | Zhu | Oct 2003 | B1 |
6646639 | Greene et al. | Nov 2003 | B1 |
6662133 | Engel et al. | Dec 2003 | B2 |
6671000 | Cloutier | Dec 2003 | B1 |
6693637 | Koneru et al. | Feb 2004 | B2 |
6693639 | Duluk, Jr. et al. | Feb 2004 | B2 |
6697063 | Zhu | Feb 2004 | B1 |
6700581 | Baldwin et al. | Mar 2004 | B2 |
6701466 | Fiedler | Mar 2004 | B1 |
6717474 | Chen et al. | Apr 2004 | B2 |
6717576 | Duluk, Jr. et al. | Apr 2004 | B1 |
6717578 | Deering | Apr 2004 | B1 |
6718496 | Fukuhisa et al. | Apr 2004 | B1 |
6734770 | Aigner et al. | May 2004 | B2 |
6734861 | Van Dyke et al. | May 2004 | B1 |
6738856 | Milley et al. | May 2004 | B1 |
6741247 | Fenney | May 2004 | B1 |
6741258 | Peck, Jr. et al. | May 2004 | B1 |
6742000 | Fantasia et al. | May 2004 | B1 |
6747057 | Ruzafa et al. | Jun 2004 | B2 |
6747483 | To et al. | Jun 2004 | B2 |
6765575 | Voorhies et al. | Jul 2004 | B1 |
6778177 | Furtner | Aug 2004 | B1 |
6782587 | Reilly | Aug 2004 | B2 |
6785841 | Akrout et al. | Aug 2004 | B2 |
6788101 | Rahman | Sep 2004 | B1 |
6788301 | Thrasher | Sep 2004 | B2 |
6794101 | Liu et al. | Sep 2004 | B2 |
6798410 | Redshaw et al. | Sep 2004 | B1 |
6803782 | Koob et al. | Oct 2004 | B2 |
6803916 | Ramani et al. | Oct 2004 | B2 |
6806788 | Marumoto | Oct 2004 | B1 |
6819332 | Baldwin | Nov 2004 | B2 |
6823283 | Steger et al. | Nov 2004 | B2 |
6825847 | Molnar et al. | Nov 2004 | B1 |
6833835 | van Vugt | Dec 2004 | B1 |
6849924 | Allison et al. | Feb 2005 | B2 |
6850133 | Ma | Feb 2005 | B2 |
6861865 | Carlson | Mar 2005 | B1 |
6862027 | Andrews et al. | Mar 2005 | B2 |
6879207 | Nickolls | Apr 2005 | B1 |
6906716 | Moreton et al. | Jun 2005 | B2 |
6938176 | Alben et al. | Aug 2005 | B1 |
6940514 | Wasserman et al. | Sep 2005 | B1 |
6947057 | Nelson et al. | Sep 2005 | B2 |
6956579 | Diard et al. | Oct 2005 | B1 |
6961057 | Van Dyke et al. | Nov 2005 | B1 |
6961065 | Sasaki | Nov 2005 | B2 |
6966020 | Abramovici et al. | Nov 2005 | B1 |
6973608 | Abramovici et al. | Dec 2005 | B1 |
6978317 | Anantha et al. | Dec 2005 | B2 |
6982718 | Kilgard et al. | Jan 2006 | B2 |
7002591 | Leather et al. | Feb 2006 | B1 |
7009607 | Lindholm et al. | Mar 2006 | B2 |
7009615 | Kilgard et al. | Mar 2006 | B1 |
7020598 | Jacobson | Mar 2006 | B1 |
7023437 | Voorhies et al. | Apr 2006 | B1 |
7043622 | Henry et al. | May 2006 | B2 |
7058738 | Stufflebeam, Jr. | Jun 2006 | B2 |
7061495 | Leather | Jun 2006 | B1 |
7064771 | Jouppi et al. | Jun 2006 | B1 |
7069369 | Chou et al. | Jun 2006 | B2 |
7069458 | Sardi et al. | Jun 2006 | B1 |
7069558 | Stone et al. | Jun 2006 | B1 |
7075542 | Leather | Jul 2006 | B1 |
7075797 | Leonard et al. | Jul 2006 | B1 |
7081902 | Crow et al. | Jul 2006 | B1 |
7085824 | Forth et al. | Aug 2006 | B2 |
7099969 | McAfee et al. | Aug 2006 | B2 |
7119809 | McCabe | Oct 2006 | B1 |
7124318 | Luick | Oct 2006 | B2 |
7126600 | Fowler et al. | Oct 2006 | B1 |
7136953 | Bisson et al. | Nov 2006 | B1 |
7154066 | Talwar et al. | Dec 2006 | B2 |
7158148 | Toji et al. | Jan 2007 | B2 |
7170315 | Bakker et al. | Jan 2007 | B2 |
7170515 | Zhu | Jan 2007 | B1 |
7174407 | Hou et al. | Feb 2007 | B2 |
7174411 | Ngai | Feb 2007 | B1 |
7184040 | Tzvetkov | Feb 2007 | B1 |
7185135 | Briggs et al. | Feb 2007 | B1 |
7185225 | Sutardja et al. | Feb 2007 | B2 |
7187383 | Kent | Mar 2007 | B2 |
7224364 | Yue et al. | May 2007 | B1 |
7225287 | Wooten | May 2007 | B2 |
7246274 | Kizer et al. | Jul 2007 | B2 |
7260007 | Jain et al. | Aug 2007 | B2 |
RE39898 | Nally et al. | Oct 2007 | E |
7293125 | McAfee et al. | Nov 2007 | B2 |
7293127 | Caruk | Nov 2007 | B2 |
7305571 | Cranford, Jr. et al. | Dec 2007 | B2 |
7307628 | Goodman et al. | Dec 2007 | B1 |
7307638 | Leather et al. | Dec 2007 | B2 |
7324452 | Xu et al. | Jan 2008 | B2 |
7324458 | Schoenborn et al. | Jan 2008 | B2 |
7340541 | Castro et al. | Mar 2008 | B2 |
7362325 | Anderson | Apr 2008 | B2 |
7363417 | Ngai | Apr 2008 | B1 |
7373547 | Sutardja et al. | May 2008 | B2 |
7382368 | Molnar et al. | Jun 2008 | B1 |
7383412 | Diard | Jun 2008 | B1 |
7398336 | Feng et al. | Jul 2008 | B2 |
7412554 | Danilak | Aug 2008 | B2 |
7414636 | Kokojima et al. | Aug 2008 | B2 |
7415551 | Pescatore | Aug 2008 | B2 |
7424564 | Mehta et al. | Sep 2008 | B2 |
7437021 | Satoh | Oct 2008 | B2 |
7453466 | Hux et al. | Nov 2008 | B2 |
7469311 | Tsu et al. | Dec 2008 | B1 |
7480757 | Atherton et al. | Jan 2009 | B2 |
7480808 | Caruk et al. | Jan 2009 | B2 |
7483029 | Crow et al. | Jan 2009 | B2 |
7525986 | Lee et al. | Apr 2009 | B2 |
7548996 | Baker et al. | Jun 2009 | B2 |
7551174 | Iourcha et al. | Jun 2009 | B2 |
7594061 | Shen et al. | Sep 2009 | B2 |
7631124 | Lockhart et al. | Dec 2009 | B2 |
7633506 | Leather et al. | Dec 2009 | B1 |
7634637 | Lindholm et al. | Dec 2009 | B1 |
7660917 | Freking et al. | Feb 2010 | B2 |
7663633 | Diamond et al. | Feb 2010 | B1 |
7694049 | Goh et al. | Apr 2010 | B2 |
7698477 | Breti et al. | Apr 2010 | B2 |
7782325 | Gonzalez et al. | Aug 2010 | B2 |
7791617 | Crow et al. | Sep 2010 | B2 |
7793029 | Parson et al. | Sep 2010 | B1 |
7822025 | Joly | Oct 2010 | B1 |
7849235 | Ihara et al. | Dec 2010 | B2 |
7965902 | Zelinka et al. | Jun 2011 | B1 |
8063903 | Vignon et al. | Nov 2011 | B2 |
8099596 | Rusakov et al. | Jan 2012 | B1 |
8132015 | Wyatt | Mar 2012 | B1 |
8144166 | Lyapunov et al. | Mar 2012 | B2 |
8185566 | George et al. | May 2012 | B2 |
8237738 | Crow | Aug 2012 | B1 |
8412872 | Wagner et al. | Apr 2013 | B1 |
8417838 | Tamasi et al. | Apr 2013 | B2 |
8482567 | Moreton et al. | Jul 2013 | B1 |
8532098 | Reed et al. | Sep 2013 | B2 |
8687639 | Kumar | Apr 2014 | B2 |
8711161 | Scotzniovsky et al. | Apr 2014 | B1 |
8724483 | Ku et al. | May 2014 | B2 |
20010005209 | Lindholm et al. | Jun 2001 | A1 |
20020005729 | Leedy | Jan 2002 | A1 |
20020026623 | Morooka | Feb 2002 | A1 |
20020031025 | Shimano et al. | Mar 2002 | A1 |
20020050979 | Oberoi et al. | May 2002 | A1 |
20020059392 | Ellis, III | May 2002 | A1 |
20020087833 | Burns et al. | Jul 2002 | A1 |
20020091979 | Cooke et al. | Jul 2002 | A1 |
20020097241 | McCormack et al. | Jul 2002 | A1 |
20020120723 | Forth et al. | Aug 2002 | A1 |
20020130863 | Baldwin | Sep 2002 | A1 |
20020138750 | Gibbs et al. | Sep 2002 | A1 |
20020140655 | Liang et al. | Oct 2002 | A1 |
20020143653 | DiLena et al. | Oct 2002 | A1 |
20020158869 | Ohba et al. | Oct 2002 | A1 |
20020158885 | Brokenshire et al. | Oct 2002 | A1 |
20020196251 | Duluk, Jr. et al. | Dec 2002 | A1 |
20020199110 | Kean | Dec 2002 | A1 |
20030020173 | Huff et al. | Jan 2003 | A1 |
20030023771 | Erickson et al. | Jan 2003 | A1 |
20030046472 | Morrow | Mar 2003 | A1 |
20030051091 | Leung et al. | Mar 2003 | A1 |
20030058244 | Ramani et al. | Mar 2003 | A1 |
20030061409 | RuDusky | Mar 2003 | A1 |
20030067468 | Duluk, Jr. et al. | Apr 2003 | A1 |
20030076325 | Thrasher | Apr 2003 | A1 |
20030093506 | Oliver et al. | May 2003 | A1 |
20030101288 | Tague et al. | May 2003 | A1 |
20030115500 | Akrout et al. | Jun 2003 | A1 |
20030122815 | Deering | Jul 2003 | A1 |
20030160795 | Alcorn et al. | Aug 2003 | A1 |
20030163589 | Bunce et al. | Aug 2003 | A1 |
20030164830 | Kent | Sep 2003 | A1 |
20030179631 | Koob et al. | Sep 2003 | A1 |
20030194116 | Wong et al. | Oct 2003 | A1 |
20030201994 | Taylor et al. | Oct 2003 | A1 |
20040012082 | Dewey et al. | Jan 2004 | A1 |
20040012597 | Zatz et al. | Jan 2004 | A1 |
20040046764 | Lefebvre et al. | Mar 2004 | A1 |
20040064628 | Chiu | Apr 2004 | A1 |
20040085313 | Moreton et al. | May 2004 | A1 |
20040090974 | Balakrishnan et al. | May 2004 | A1 |
20040102187 | Moller et al. | May 2004 | A1 |
20040130552 | Duluk, Jr. et al. | Jul 2004 | A1 |
20040183148 | Blasko, III | Sep 2004 | A1 |
20040183801 | Deering | Sep 2004 | A1 |
20040188781 | Bar | Sep 2004 | A1 |
20040196285 | Rice et al. | Oct 2004 | A1 |
20040196290 | Satoh | Oct 2004 | A1 |
20040207642 | Crisu et al. | Oct 2004 | A1 |
20040225787 | Ma et al. | Nov 2004 | A1 |
20040227599 | Shen et al. | Nov 2004 | A1 |
20040246251 | Fenney et al. | Dec 2004 | A1 |
20050030314 | Dawson | Feb 2005 | A1 |
20050038947 | Lueck et al. | Feb 2005 | A1 |
20050041031 | Diard | Feb 2005 | A1 |
20050041037 | Dawson | Feb 2005 | A1 |
20050044284 | Pescatore | Feb 2005 | A1 |
20050045722 | Park | Mar 2005 | A1 |
20050060601 | Gomm | Mar 2005 | A1 |
20050066148 | Luick | Mar 2005 | A1 |
20050088445 | Gonzalez et al. | Apr 2005 | A1 |
20050122338 | Hong et al. | Jun 2005 | A1 |
20050125629 | Kissell | Jun 2005 | A1 |
20050134588 | Aila et al. | Jun 2005 | A1 |
20050134603 | Iourcha et al. | Jun 2005 | A1 |
20050138437 | Allen et al. | Jun 2005 | A1 |
20050172135 | Wiersma | Aug 2005 | A1 |
20050173233 | Kaelberer | Aug 2005 | A1 |
20050174353 | Alcorn et al. | Aug 2005 | A1 |
20050179698 | Vijayakumar et al. | Aug 2005 | A1 |
20050182881 | Chou et al. | Aug 2005 | A1 |
20050210472 | Accapadi et al. | Sep 2005 | A1 |
20050237083 | Bakker et al. | Oct 2005 | A1 |
20050246460 | Stufflebeam | Nov 2005 | A1 |
20050251358 | Van Dyke et al. | Nov 2005 | A1 |
20050251761 | Diamond et al. | Nov 2005 | A1 |
20050259100 | Teruyama | Nov 2005 | A1 |
20050261863 | Van Dyke et al. | Nov 2005 | A1 |
20050275663 | Kokojima et al. | Dec 2005 | A1 |
20050278666 | Diamond | Dec 2005 | A1 |
20050285863 | Diamond | Dec 2005 | A1 |
20060004536 | Diamond et al. | Jan 2006 | A1 |
20060033745 | Koselj et al. | Feb 2006 | A1 |
20060044317 | Bourd et al. | Mar 2006 | A1 |
20060053188 | Mantor et al. | Mar 2006 | A1 |
20060053189 | Mantor | Mar 2006 | A1 |
20060055641 | Robertus et al. | Mar 2006 | A1 |
20060106911 | Chapple et al. | May 2006 | A1 |
20060123177 | Chan et al. | Jun 2006 | A1 |
20060132495 | Anderson | Jun 2006 | A1 |
20060170690 | Leather | Aug 2006 | A1 |
20060179484 | Scrimsher et al. | Aug 2006 | A1 |
20060190663 | Lu | Aug 2006 | A1 |
20060203005 | Hunter | Sep 2006 | A1 |
20060221086 | Diard | Oct 2006 | A1 |
20060245001 | Lee et al. | Nov 2006 | A1 |
20060252285 | Shen | Nov 2006 | A1 |
20060267981 | Naoi | Nov 2006 | A1 |
20060267987 | Litchmanov | Nov 2006 | A1 |
20060282604 | Temkine et al. | Dec 2006 | A1 |
20070011383 | Berke et al. | Jan 2007 | A1 |
20070038794 | Purcell et al. | Feb 2007 | A1 |
20070050647 | Conroy et al. | Mar 2007 | A1 |
20070067535 | Liu | Mar 2007 | A1 |
20070088877 | Chen et al. | Apr 2007 | A1 |
20070115271 | Seo et al. | May 2007 | A1 |
20070115290 | Polzin et al. | May 2007 | A1 |
20070115291 | Chen et al. | May 2007 | A1 |
20070139440 | Crow et al. | Jun 2007 | A1 |
20070268298 | Alben et al. | Nov 2007 | A1 |
20070273689 | Tsao | Nov 2007 | A1 |
20070296725 | Steiner et al. | Dec 2007 | A1 |
20080024497 | Crow et al. | Jan 2008 | A1 |
20080024522 | Crow et al. | Jan 2008 | A1 |
20080072098 | Hunsaker et al. | Mar 2008 | A1 |
20080100618 | Woo et al. | May 2008 | A1 |
20080198163 | Nakahashi et al. | Aug 2008 | A1 |
20080273218 | Kitora et al. | Nov 2008 | A1 |
20080273545 | Sgouros et al. | Nov 2008 | A1 |
20080304652 | Ray | Dec 2008 | A1 |
20090006708 | Lim | Jan 2009 | A1 |
20090044003 | Berthiaume et al. | Feb 2009 | A1 |
20090086747 | Naven et al. | Apr 2009 | A1 |
20090106754 | Liu et al. | Apr 2009 | A1 |
20090254692 | Feehrer | Oct 2009 | A1 |
20100138675 | Nikazm et al. | Jun 2010 | A1 |
20100162252 | Bacher | Jun 2010 | A1 |
20100309918 | Kumar | Dec 2010 | A1 |
20110153957 | Gao et al. | Jun 2011 | A1 |
Number | Date | Country |
---|---|---|
101093578 | Dec 2007 | CN |
61020348 | Jan 1986 | JP |
06180758 | Jun 1994 | JP |
10134198 | May 1998 | JP |
11195132 | Jul 1999 | JP |
11328133 | Nov 1999 | JP |
2002076120 | Mar 2002 | JP |
2005182547 | Jul 2005 | JP |
093127712 | Jul 2005 | TW |
0013145 | Mar 2000 | WO |
02054224 | Jul 2002 | WO |
2004030127 | Mar 2005 | WO |
2005029329 | Mar 2005 | WO |
Entry |
---|
Kristis Makris, Dynamic and Adaptive Updates of Non-Quiescent Subsystems in Commodity Operating system Kernels,Mar. 21, 2007. |
Addressing the System-on-a-Chip Interconnect Woes Through Communication-Based Design' by Sgroi et al., DAC 2001, Jun. 18-22, 2001, copyright ACM. |
Dictionary.com, Definition of “Monitor”, Viewed Jun. 15, 2011. |
European Patent Office E-Space Family List for: WO200529329 (PCT/US2004030127). |
International Search Report. PCT/US2004/030127. Mail Date Jun. 30, 2005. |
Multimedia Processors by Kuroda et al., Proceedings of the IEEE, Jun. 1998. |
OSI Reference Model—The ISO Model of Architecture for Open Systems Interconnection, by Zimmermann, IEEE Transactions on Communicaions, Apr. 1980. |
PCI Express Card Electromechanical Specification Rev. 1.1, 2005, p. 87. |
PCT International Preliminary Report on Patentability. PCT/US2004/030127. International Filing Date Sep. 13, 2004. Applicant: Nvidia Corporation. Date of Issuance of this report: Mar. 16, 2006. |
SuperPaint: An Early Frame Buffer Graphics System, by Richard Shoup, IEEE Annals of the History of Computing, copyright 2001. |
Test Requirements for Embedded Core-Based Systems and IEEE P1500' by Yervant Zorian, International Test Conference, copyright IEEE 1997. |
Welch, D. “Building Self-Reconfiguring Distributed Systems Using Compensating Reconfiguration”, Proceedings Fourth International Journal Conference on Configurable Distributed Systems, May 4-6, 1998, pp. 18-25. |
A parallel algorithm for polygon rasterization Juan Pineda Jun. 1988 ACM. |
A VLSI architecture for updating raster-scan displays Satish Gupta, Robert F. Spro ull, Ivan E. Sutherland Aug. 1981 ACM SIGGRAPH Computer Graphics, Proceedings of the 8th annual conference on Computer graphics and interactive techniques SIGGRAPH '81, vol. 15 Issue 3 Publisher: ACM Press. |
Blythe, OpenGL Section 3.4.1, “Basic Line Segment Rasterization”, Mar. 29, 1997, pp. 1-3. |
Boyer, et al.; “Discrete Analysis for Antialiased Lines,” Eurographics 2000; 3 Pages. |
Crow; “The Use of Grayscale for Improves Raster Display of Vectors and Characters;” University of Texas, Austin, Texas; Work supported by the National Science Foundation unser Grants MCS 76-83889; pp. 1-5: ACM Press. |
Number | Date | Country | |
---|---|---|---|
20110216780 A1 | Sep 2011 | US |