The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Jul. 12, 2011
Filed:
Nov. 12, 2004
Charles N. Boyd, Woodinville, WA (US);
Michele B. Boland, Seattle, WA (US);
Michael A. Toelle, Bellevue, WA (US);
Anantha Rao Kancherla, Redmond, WA (US);
Amar Patel, Redmond, WA (US);
Iouri Tarassov, Bellevue, WA (US);
Stephen H. Wright, Bothell, WA (US);
Charles N. Boyd, Woodinville, WA (US);
Michele B. Boland, Seattle, WA (US);
Michael A. Toelle, Bellevue, WA (US);
Anantha Rao Kancherla, Redmond, WA (US);
Amar Patel, Redmond, WA (US);
Iouri Tarassov, Bellevue, WA (US);
Stephen H. Wright, Bothell, WA (US);
Microsoft Corporation, Redmond, WA (US);
Abstract
Systems and methods for downloading algorithmic elements to a coprocessor and corresponding processing and communication techniques are provided. For an improved graphics pipeline, the invention provides a class of co-processing device, such as a graphics processor unit (GPU), providing improved capabilities for an abstract or virtual machine for performing graphics calculations and rendering. The invention allows for runtime-predicated flow control of programs downloaded to coprocessors, enables coprocessors to include indexable arrays of on-chip storage elements that are readable and writable during execution of programs, provides native support for textures and texture maps and corresponding operations in a vertex shader, provides frequency division of vertex streams input to a vertex shader with optional support for a stream modulo value, provides a register storage element on a pixel shader and associated interfaces for storage associated with representing the 'face' of a pixel, provides vertex shaders and pixel shaders with more on-chip register storage and the ability to receive larger programs than any existing vertex or pixel shaders and provides 32 bit float number support in both vertex and pixel shaders.