Patents by Inventor Karim M. Abdalla
Karim M. Abdalla has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 8436868Abstract: A method of organizing memory for storage of texture data, in accordance with one embodiment of the invention, includes accessing a size of a mipmap level of a texture map. A block dimension may be determined based on the size the mipmap level. A memory space (e.g., computer-readable medium) may be logically divided into a plurality of whole number of blocks of variable dimension. The dimension of the blocks is measured in units of gobs and each gob is of a fixed dimension of bytes. A mipmap level of a texture map may be stored in the memory space. A texel coordinate of said mipmap level may be converted into a byte address of the memory space by determining a gob address of a gob in which the texel coordinate resides and determining a byte address within the particular gob.Type: GrantFiled: March 28, 2011Date of Patent: May 7, 2013Assignee: NVIDIA CorporationInventors: Walter E. Donovan, Emmett M. Kilgariff, Karim M. Abdalla, Joel J. McCormack
-
Publication number: 20130038620Abstract: One embodiment of the present invention sets forth a technique for redistributing geometric primitives generated by tessellation and geometry shaders for processing by multiple graphics pipelines. Geometric primitives that are generated in a first processing cycle are collected and redistributed more evenly and in smaller tasks to the multiple graphics pipelines for vertex processing in a second processing cycle. The smaller tasks do not exceed the resource limits of a graphics pipeline and the per-vertex processing workloads of the graphics pipelines in the second cycle are balanced and make full use of resources. Therefore, the performance of the tessellation and geometry shaders is improved.Type: ApplicationFiled: August 11, 2011Publication date: February 14, 2013Inventors: Ziyad S. Hakura, Emmett M. Kilgariff, Dale L. Kirkland, Johnny S. Rhoades, Cynthia Ann Edgeworth Allison, Karim M. Abdalla
-
Patent number: 8223150Abstract: An apparatus and method for translating fixed function state into a shader program. Fixed function state is received and stored and when a new shader program is detected the fixed function state is translated into shader program instructions. Registers specified by the program instructions are allocated for processing in the shader program. The registers may be remapped for more efficient use of the register storage space.Type: GrantFiled: July 28, 2011Date of Patent: July 17, 2012Assignee: NVIDIA CorporationInventors: Brian Cabral, Amy J. Migdal, Rui M. Bastos, Karim M. Abdalla
-
Publication number: 20120176377Abstract: A method of organizing memory for storage of texture data, in accordance with one embodiment of the invention, includes accessing a size of a mipmap level of a texture map. A block dimension may be determined based on the size of the mipmap level. A memory space (e.g., computer-readable medium) may be logically divided into a plurality of whole number of blocks of variable dimension. The dimension of the blocks is measured in units of gobs and each gob is of a fixed dimension of bytes. A mipmap level of a texture map may be stored in the memory space. A texel coordinate of said mipmap level may be converted into a byte address of the memory space by determining a gob address of a gob in which the texel coordinate resides and determining a byte address within the particular gob.Type: ApplicationFiled: March 16, 2012Publication date: July 12, 2012Applicant: NVIDIA CORPORATIONInventors: Walter E. Donovan, Emmett M. Kilgariff, Karim M. Abdalla, Joel J. McCormack
-
Patent number: 8004523Abstract: An apparatus and method for translating fixed function state into a shader program. Fixed function state is received and stored and when a new shader program is detected the fixed function state is translated into shader program instructions. Registers specified by the program instructions are allocated for processing in the shader program. The registers may be remapped for more efficient use of the register storage space.Type: GrantFiled: December 28, 2007Date of Patent: August 23, 2011Assignee: NVIDIA CorporationInventors: Brian Cabral, Amy J. Migdal, Rui M. Bastos, Karim M. Abdalla
-
Publication number: 20110169850Abstract: A method of organizing memory for storage of texture data, in accordance with one embodiment of the invention, includes accessing a size of a mipmap level of a texture map. A block dimension may be determined based on the size the mipmap level. A memory space (e.g., computer-readable medium) may be logically divided into a plurality of whole number of blocks of variable dimension. The dimension of the blocks is measured in units of gobs and each gob is of a fixed dimension of bytes. A mipmap level of a texture map may be stored in the memory space. A texel coordinate of said mipmap level may be converted into a byte address of the memory space by determining a gob address of a gob in which the texel coordinate resides and determining a byte address within the particular gob.Type: ApplicationFiled: March 28, 2011Publication date: July 14, 2011Applicant: NVIDIA CORPORATIONInventors: Walter E. Donovan, Emmett M. Kilgariff, Karim M. Abdalla, Joel J. McCormack
-
Publication number: 20110080404Abstract: One embodiment of the present invention sets forth a technique for redistributing geometric primitives generated by tessellation and geometry shaders for per-vertex by multiple graphics pipelines. Geometric primitives that are generated in a first processing stage are collected and redistributed more evenly and in smaller batches to the multiple graphics pipelines for vertex processing in a second processing stage. The smaller batches do not exceed the resource limits of a graphics pipeline and the per-vertex processing workloads of the graphics pipelines in the second stage are balanced. Therefore, the performance of the tessellation and geometry shaders is improved.Type: ApplicationFiled: October 4, 2010Publication date: April 7, 2011Inventors: Johnny S. RHOADES, Ziyad S. Hakura, Emmett M. Kilgariff, Dale L. Kirkland, Cynthia Ann Edgeworth Allison, Karl M. Wurstner, Karim M. Abdalla
-
Patent number: 7916149Abstract: A method of organizing memory for storage of texture data, in accordance with one embodiment of the invention, includes accessing a size of a mipmap level of a texture map. A block dimension may be determined based on the size of the mipmap level. A memory space (e.g., computer-readable medium) may be logically divided into a plurality of whole number of blocks of variable dimension. The dimension of the blocks is measured in units of gobs and each gob is of a fixed dimension of bytes. A mipmap level of a texture map may be stored in the memory space. A texel coordinate of said mipmap level may be converted into a byte address of the memory space by determining a gob address of a gob in which the texel coordinate resides and determining a byte address within the particular gob.Type: GrantFiled: January 4, 2005Date of Patent: March 29, 2011Assignee: NVIDIA CorporationInventors: Walter E. Donovan, Emmett M. Kilgariff, Karim M. Abdalla, Joel J. McCormack
-
Patent number: 7852340Abstract: A scalable shader architecture is disclosed. In accord with that architecture, a shader includes multiple shader pipelines, each of which can perform processing operations on rasterized pixel data. Shader pipelines can be functionally removed as required, thus preventing a defective shader pipeline from causing a chip rejection. The shader includes a shader distributor that processes rasterized pixel data and then selectively distributes the processed rasterized pixel data to the various shader pipelines, beneficially in a manner that balances workloads. A shader collector formats the outputs of the various shader pipelines into proper order to form shaded pixel data. A shader instruction processor (scheduler) programs the individual shader pipelines to perform their intended tasks.Type: GrantFiled: December 14, 2007Date of Patent: December 14, 2010Assignee: NVIDIA CorporationInventors: Rui M. Bastos, Karim M. Abdalla, Christian Rouet, Michael J.M. Toksvig, Johnny S Rhoades, Roger L. Allen, John Douglas Tynefield, Jr., Emmett M. Kilgariff, Gary M. Tarolli, Brian Cabral, Craig Michael Wittenbrink, Sean J. Treichler
-
Patent number: 7821520Abstract: A new, useful, and non-obvious shader processor architecture having a shader register file that acts both as an internal storage register file for temporarily storing data within the shader processor and as a First-In First-Out (FIFO) buffer for a subsequent module. Some embodiments include automatic, programmable hardware conversion between numeric formats, for example, between floating point data and fixed point data.Type: GrantFiled: December 10, 2004Date of Patent: October 26, 2010Assignee: NVIDIA CorporationInventors: Rui M. Bastos, Karim M. Abdalla, Sean J. Treichler, Emmett M. Kilgariff
-
Patent number: 7802118Abstract: An embodiment of the invention includes receiving an indicator of a flow of data associated with a graphics processing stage within a graphics pipeline of a graphics processor. A clock signal to a portion of the graphics processing stage is modified based on a status of the flow of data. The clock signal is received from a clock signal generator within the graphics processor.Type: GrantFiled: December 21, 2006Date of Patent: September 21, 2010Assignee: Nvidia CorporationInventors: Karim M. Abdalla, Robert J. Hasslen, III
-
Patent number: 7797561Abstract: An embodiment of the invention includes receiving an indicator of an activity-level of a functional block within an electronic chip. The functional block is included in a processing pipeline having a plurality of functional blocks. Each functional block from the plurality is configured to receive a clock signal from a clock signal generator. A status of the functional block is determined based on the activity-level. The clock signal to at least a portion of the functional block is disabled when the status is an inactive status.Type: GrantFiled: December 21, 2006Date of Patent: September 14, 2010Assignee: Nvidia CorporationInventors: Karim M. Abdalla, Robert J. Hasslen, III
-
Patent number: 7576751Abstract: A pixel center position that is not covered by a primitive covering a portion of the pixel is displaced to lie within a fragment formed by the intersection of the primitive and the pixel. X,y coordinates of a pixel center are adjusted to displace the pixel center position to lie within the fragment, affecting actual texture map coordinates or barycentric weights. Alternatively, a centroid sub-pixel sample position is determined based on coverage data for the pixel and a multisample mode. The centroid sub-pixel sample position is used to compute pixel or sub-pixel parameters for the fragment.Type: GrantFiled: September 14, 2006Date of Patent: August 18, 2009Assignee: NVIDIA CorporationInventors: Rui M. Bastos, Michael J. M. Toksvig, Karim M. Abdalla
-
Patent number: 7542042Abstract: A new method of operating a fragment shader to produce complex video content comprised of a video image or images, such as from a DVD player, that overlays a fragment shader-processed background. Pixels are fragment shader-processed during one loop or set of loops through a texture processing stations to produce a fragment shader-processed background. Then, at least some of those pixels are merged with the video or images to produce complex video content. The resulting complex image is then made available for further processing.Type: GrantFiled: November 10, 2004Date of Patent: June 2, 2009Assignee: NVIDIA CorporationInventors: Roger L. Allen, Rui M. Bastos, Karim M. Abdalla, Justin S. Legakis
-
Patent number: 7490208Abstract: Architecture for compact multi-ported register file is disclosed. In an embodiment, a register file comprises a single-port random access memory (RAM). The single-port RAM comprises a single port for read operations and for write operations. Either a single read or a single write operation is performed for a given clock via the single port. Moreover, the single-port RAM serially performs N read operations and M write operations associated with a data group using a clock phase of (N+M) clock phases generated from a clock. In another embodiment, a semiconductor device includes the architecture for compact multi-ported register file. The semiconductor device comprises a plurality of register files. Each register file comprises a RAM comprising a port for read operations and for write operations. Moreover, each RAM serially performs N read operations and M write operations associated with one of a plurality of data groups using a corresponding clock phase of (N+M) clock phases generated from a clock.Type: GrantFiled: October 5, 2004Date of Patent: February 10, 2009Assignee: Nvidia CorporationInventors: Lordson Yue, John W. Berendsen, Karim M. Abdalla, Rui M. Bastos, Radoslav Danilak
-
Patent number: 7425966Abstract: A pixel center position that is not covered by a primitive covering a portion of the pixel is displaced to lie within a fragment formed by the intersection of the primitive and the pixel. X,y coordinates of a pixel center are adjusted to displace the pixel center position to lie within the fragment, affecting actual texture map coordinates or barycentric weights. Alternatively, a centroid sub-pixel sample position is determined based on coverage data for the pixel and a multisample mode. The centroid sub-pixel sample position is used to compute pixel or sub-pixel parameters for the fragment.Type: GrantFiled: October 7, 2004Date of Patent: September 16, 2008Assignee: NVIDIA CorporationInventors: Rui M. Bastos, Michael J. M. Toksvig, Karim M. Abdalla
-
Patent number: 7385607Abstract: A scalable shader architecture is disclosed. In accord with that architecture, a shader includes multiple shader pipelines, each of which can perform processing operations on rasterized pixel data. Shader pipelines can be functionally removed as required, thus preventing a defective shader pipeline from causing a chip rejection. The shader includes a shader distributor that processes rasterized pixel data and then selectively distributes the processed rasterized pixel data to the various shader pipelines, beneficially in a manner that balances workloads. A shader collector formats the outputs of the various shader pipelines into proper order to form shaded pixel data. A shader instruction processor (scheduler) programs the individual shader pipelines to perform their intended tasks.Type: GrantFiled: September 10, 2004Date of Patent: June 10, 2008Assignee: NVIDIA CorporationInventors: Rui M. Bastos, Karim M. Abdalla, Christian Rouet, Michael J. M. Toksvig, Johnny S. Rhoades, Roger L. Allen, John Douglas Tynefield, Jr., Emmett M. Kilgariff, Gary M. Tarolli, Brian Cabral, Craig Michael Wittenbrink, Sean J. Treichler
-
Patent number: 7369135Abstract: A virtual memory system that maintains a list of pages that are required to be resident in a frame buffer to guarantee the eventual forward progress of a graphics application context running on a graphics system composed of multiple clients. Pages that are required to be in the frame buffer memory are never swapped out of that memory. The required page list can be dynamically sized or fixed sized. A tag file is used to prevent page swapping of a page from the frame buffer that is required to make forward progress. A forward progress indicator signifies that a page faulting client has made forward progress on behalf of a context. The presence of a forward progress indicator is used to clear the tag file, thus enabling page swapping of the previously tagged pages from the frame buffer memory.Type: GrantFiled: October 29, 2004Date of Patent: May 6, 2008Assignee: NVIDIA CorporationInventors: Karim M. Abdalla, Robert C. Keller
-
Patent number: 7218291Abstract: A fragment processor includes a fragment shader distributor, a fragment shader collector, and a plurality of fragment shader pipelines. Each fragment shader pipeline executes a fragment shader program on a segment of fragments. The plurality of fragment shader pipelines operate in parallel, executing the same or different fragment shader programs. The fragment shader distributor receives a stream of fragments from a rasterization unit and dispatches a portion of the stream of fragments to a selected fragment shader pipeline until the capacity of the selected fragment shader pipeline is reached. The fragment shader distributor then selects another fragment shader pipeline. The capacity of each of the fragment shader pipelines is limited by several different resources. As the fragment shader distributor dispatches fragments, it tracks the remaining available resources of the selected fragment shader pipeline.Type: GrantFiled: September 13, 2004Date of Patent: May 15, 2007Assignee: NVIDIA CorporationInventors: Karim M. Abdalla, Emmett M. Kilgariff, Rui M. Bastos
-
Patent number: 6154794Abstract: A method and apparatus for controlling the flow of information (e.g., graphics primitives, display data, etc.) to an input/output unit within a computer controlled graphics system. The system includes a processor having a first-in-first-out (FIFO) buffer, a separate input/output unit with its FIFO buffer, and a number of intermediate devices (with FIFO buffers) coupled between the input/output unit and the processor for moving input/output data from the processor to the input/output unit. Mechanisms are placed within an intermediate device, very close to the processor, which maintain an accounting of the number of input/output data sent to the input/output unit, but not yet cleared from the input/output unit's buffer. These mechanisms regulate data flow to the input/output unit.Type: GrantFiled: September 8, 1996Date of Patent: November 28, 2000Assignee: Silicon Graphics, Inc.Inventors: Karim M. Abdalla, Kianoosh Naghshineh, James E. Tornes, Daniel Yau