Patents by Inventor David C. Kehlet

David C. Kehlet 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: 7042452
    Abstract: A graphics system invokes a dicing process if one or more edges of a triangle T have length greater than a maximum length (LMAX), invokes a central subdivision process if a coverage estimate for the triangle T is greater than a maximum coverage and all edges of triangle T have length less than or equal to LMAX, invokes rendering of a sequence of one or more single-layer triangles based on triangle T if the coverage estimate for triangle T is less than or equal to the maximum coverage and all edges have length less than or equal to LMAX. Said invocation of rendering of the sequence of single-layer triangles results in the application of a plurality of texture layers to samples corresponding to triangle T. The samples are stored in the TAB between the application of successive layers of said plurality of texture layers.
    Type: Grant
    Filed: October 2, 2003
    Date of Patent: May 9, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael A. Wasserman, Ranjit S. Oberoi, David C. Kehlet, Te-Chun Yu
  • Patent number: 7023444
    Abstract: A rendering unit positions a supertile so that it intersects a primitive. The rendering unit repeatedly walks over bins of the supertile, applying a layer of texture to the bins of the supertile in each iteration of said repeated walking. The rendering unit advances to the next texture layer after having applied the current texture layer to each candidate bin of the supertile. The results of each texture layer application to the bins may be stored in a texture accumulation buffer. The size of the supertile corresponds to the size of the texture accumulation buffer. After applying a last layer of texture to the bins of the supertile, the supertile may be advanced to a new position. The rendering unit traverses the primitive with the supertile so that the union of areas visited by the supertile covers the primitive.
    Type: Grant
    Filed: March 20, 2003
    Date of Patent: April 4, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Brian D. Emberling, Michael G. Lavelle, Assana M. Fard, Nandini Ramani, David C. Kehlet, Michael A. Wasserman, Ewa M. Kubalska, Mark E Pascual
  • Patent number: 6961861
    Abstract: A interface, which connects memory and an integrated circuit, having a write path and read path that allow synchronous data propagation is provided. Further, a method for synchronizing data propagation through a read path and a write path of an interface is provided. The interface uses clock signals and paths based on a clock signal to synchronize the flow of data through various paths within the interface.
    Type: Grant
    Filed: February 27, 2002
    Date of Patent: November 1, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: Alex N. Koltzoff, David C. Kehlet
  • Patent number: 6924820
    Abstract: A system and method for rasterizing and rendering graphics data is disclosed. Vertices may be grouped to form primitives such as triangles, which are rasterized using two-dimensional arrays of samples bins. To overcome fragmentation problems, the system's sample evaluation hardware may be configured to over-evaluate samples each clock cycle. Since a number of the samples will typically not survive evaluation because they will be outside the primitive being rendered, the remaining surviving samples may be combined into sets, with one set being forwarded to subsequent pipeline stages each clock cycle in order to attempt to keep the pipeline utilization high.
    Type: Grant
    Filed: September 25, 2001
    Date of Patent: August 2, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: Nandini Ramani, David C. Kehlet, Michael G. Lavelle, Mark E. Pascual, Ewa M. Kubalska, Yi-Ming Tian
  • Patent number: 6914610
    Abstract: A graphics system configured to apply multiple layers of texture information to primitives. The graphics system receives parameters defining a primitive and performs a size test on the primitive. If the size test cannot guarantee that a fragment size of the primitive is less than or equal to a fragment capacity of a texture accumulation buffer, the primitive is divided into subprimitives, and the graphics system applies the multiple layers of texture to fragments which intersect the primitive. The graphics system switches from a current layer to the layer next when it has applied textures corresponding to the current layer to all the fragments intersecting the primitive. The graphics system stores color values associated with the primitive fragments in the texture accumulation buffer between the application of successive texture layers.
    Type: Grant
    Filed: May 18, 2001
    Date of Patent: July 5, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael G. Lavelle, Wayne A. Morse, Rangit S. Oberoi, David C. Kehlet, Michael A. Wasserman, Brian D. Emberling, Roger C. Swanson
  • Patent number: 6864892
    Abstract: A system and method for preserving the order of data items through a divergence-and-reconvergence of two or more paths in a hardware device. A host processor may write a first token to a first path in the hardware device. A convergence unit in the hardware device may receive and store the first token in a synchronization register. The host processor may poll the synchronization register to determine when the first token arrives in the synchronization register. In response to determining that the first token has arrived in the synchronization register, the host processor may safely write a sequence of one or more data items to a second path in the hardware device.
    Type: Grant
    Filed: March 8, 2002
    Date of Patent: March 8, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael G. Lavelle, Brian D. Emberling, David C. Kehlet, Thomas W. Bowman
  • Patent number: 6833834
    Abstract: A graphics system includes a frame buffer, a write address generator, and a pixel buffer. A burst of pixels received from the frame buffer may not be in display order. In one embodiment, a write address generator calculates a write address for each pixel in the burst of pixels output from the frame buffer. The write address corresponds to a relative display order within the burst for each respective pixel. Each pixel in the burst is stored to its write address in the pixel buffer. This way, the pixels in the burst are stored in display order within the pixel buffer.
    Type: Grant
    Filed: December 12, 2001
    Date of Patent: December 21, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael A. Wasserman, Michael G. Lavelle, David C. Kehlet, Yan Yan Tang, Ewa M. Kubalska
  • Patent number: 6803916
    Abstract: A system and method for rasterizing and rendering graphics data is disclosed. Vertices may be grouped to form primitives such as triangles, which are rasterized using two-dimensional arrays of samples bins. Individual samples may be selected from the bins according to different criteria such as memory bank allocation to improve utilization of the system's rendering pipeline. Since the arrays may have more bins than the number of evaluation units in the rendering pipeline, the samples from the bins may be stored to FIFO memories to allow invalid or empty samples (those outside the primitive being rendered) to be removed. The samples may then be filtered to form pixels that are displayable to form an image on a display device.
    Type: Grant
    Filed: May 18, 2001
    Date of Patent: October 12, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: Nandini Ramani, David C. Kehlet, Ewa M. Kubalska, Michael G. Lavelle, Michael A. Wasserman, Kevin Tang, Yan Yan Tang
  • Publication number: 20040183807
    Abstract: A rendering unit positions a supertile so that it intersects a primitive. The rendering unit repeatedly walks over bins of the supertile, applying a layer of texture to the bins of the supertile in each iteration of said repeated walking. The rendering unit advances to the next texture layer after having applied the current texture layer to each candidate bin of the supertile. The results of each texture layer application to the bins may be stored in a texture accumulation buffer. The size of the supertile corresponds to the size of the texture accumulation buffer. After applying a last layer of texture to the bins of the supertile, the supertile may be advanced to a new position. The rendering unit traverses the primitive with the supertile so that the union of areas visited by the supertile covers the primitive.
    Type: Application
    Filed: March 20, 2003
    Publication date: September 23, 2004
    Inventors: Brian D. Emberling, Michael G. Lavelle, Assana M. Fard, Nandini Ramani, David C. Kehlet, Michael A. Wasserman, Ewa M. Kubalska, Mark E. Pascual
  • Patent number: 6795080
    Abstract: A graphics system configured to apply multiple layers of texture information to batches of primitives. The graphics system collects primitives into a batch that share a common set of texture layers to be applied. The batch is limited so that the total estimate size of the batch is less than or equal to a storage capacity of a texture accumulation buffer. The graphics system stores samples (or fragments) corresponding to the batch primitives in the texture accumulation buffer between the application of successive texture layers.
    Type: Grant
    Filed: January 30, 2002
    Date of Patent: September 21, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael G. Lavelle, David C. Kehlet, Michael A. Wasserman, Nandini Ramani, Ranjit S. Oberoi
  • Patent number: 6670959
    Abstract: A graphics system that may be shared between multiple display channels includes a frame buffer, an arbiter, and two pixel output buffers. The arbiter arbitrates between the display channels' requests for display information from the frame buffer and forwards a selected request to the frame buffer. The frame buffer is divided into a first and a second portion. The arbiter alternates display channel requests for data between the first and second portions of the frame buffer. The frame buffer outputs display information in response to receiving the forwarded request, and pixels corresponding to this display information are stored in the output buffers. The arbiter selects which request to forward to the frame buffer based on a relative state of neediness of each of the requesting display channels.
    Type: Grant
    Filed: May 18, 2001
    Date of Patent: December 30, 2003
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael A. Wasserman, Michael G. Lavelle, David C. Kehlet, Glenn Gracon
  • Patent number: 6654021
    Abstract: A graphics system that may be shared between multiple display channels includes a frame buffer, two arbiters, a pixel buffer, and several display output queues. The first arbiter arbitrates between the display channels' requests for display information from the frame buffer and forwards a selected request to the frame buffer. The frame buffer outputs display information in response to receiving the forwarded request, and pixels corresponding to this display information are stored in the pixel buffer. Each display channel has a corresponding display output queue that provides data to a display and generates a request for pixels from the pixel buffer. A pixel request arbiter receives the pixel requests generated by the display output queues, selects one of the pixel requests, and forwards the selected request to the pixel buffer. In response, the pixel buffer outputs pixels to the display output queue that generated the selected pixel request.
    Type: Grant
    Filed: May 18, 2001
    Date of Patent: November 25, 2003
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael A. Wasserman, Michael G. Lavelle, David C. Kehlet, Nathaniel David Naegle, Steven Te-Chun Yu, Glenn Gracon
  • Publication number: 20030169259
    Abstract: A system and method for preserving the order of data items through a divergence-and-reconvergence of two or more paths in a hardware device. A host processor may write a first token to a first path in the hardware device. A convergence unit in the hardware device may receive and store the first token in a synchronization register. The host processor may poll the synchronization register to determine when the first token arrives in the synchronization register. In response to determining that the first token has arrived in the synchronization register, the host processor may safely write a sequence of one or more data items to a second path in the hardware device.
    Type: Application
    Filed: March 8, 2002
    Publication date: September 11, 2003
    Inventors: Michael G. Lavelle, Brian D. Emberling, David C. Kehlet, Thomas W. Bowman
  • Publication number: 20030160797
    Abstract: A interface, which connects memory and an integrated circuit, having a write path and read path that allow synchronous data propagation is provided. Further, a method for synchronizing data propagation through a read path and a write path of an interface is provided. The interface uses clock signals and paths based on a clock signal to synchronize the flow of data through various paths within the interface.
    Type: Application
    Filed: February 27, 2002
    Publication date: August 28, 2003
    Inventors: Alex N. Koltzoff, David C. Kehlet
  • Publication number: 20030142104
    Abstract: A graphics system configured to apply multiple layers of texture information to batches of primitives. The graphics system collects primitives into a batch that share a common set of texture layers to be applied. The batch is limited so that the total estimate size of the batch is less than or equal to a storage capacity of a texture accumulation buffer. The graphics system stores samples (or fragments) corresponding to the batch primitives in the texture accumulation buffer between the application of successive texture layers.
    Type: Application
    Filed: January 30, 2002
    Publication date: July 31, 2003
    Inventors: Michael G. Lavelle, David C. Kehlet, Michael A. Wasserman, Nandini Ramani, Ranjit S. Oberoi
  • Publication number: 20030112250
    Abstract: A graphics system includes a frame buffer, a write address generator, and a pixel buffer. A burst of pixels received from the frame buffer may not be in display order. In one embodiment, a write address generator calculates a write address for each pixel in the burst of pixels output from the frame buffer. The write address corresponds to a relative display order within the burst for each respective pixel. Each pixel in the burst is stored to its write address in the pixel buffer. This way, the pixels in the burst are stored in display order within the pixel buffer.
    Type: Application
    Filed: December 12, 2001
    Publication date: June 19, 2003
    Inventors: Michael A. Wasserman, Michael G. Lavelle, David C. Kehlet, Yan Yan Tang, Ewa M. Kubalska
  • Publication number: 20030058244
    Abstract: A system and method for rasterizing and rendering graphics data is disclosed. Vertices may be grouped to form primitives such as triangles, which are rasterized using two-dimensional arrays of samples bins. To overcome fragmentation problems, the system's sample evaluation hardware may be configured to over-evaluate samples each clock cycle. Since a number of the samples will typically not survive evaluation because they will be outside the primitive being rendered, the remaining surviving samples may be combined into sets, with one set being forwarded to subsequent pipeline stages each clock cycle in order to attempt to keep the pipeline utilization high.
    Type: Application
    Filed: September 25, 2001
    Publication date: March 27, 2003
    Inventors: Nandini Ramani, David C. Kehlet, Michael G. Lavelle, Mark E. Pascual, Ewa M. Kubalska, Yi-Ming Tian
  • Publication number: 20030043158
    Abstract: A graphics system that may be shared between multiple display channels includes a frame buffer, an arbiter, and two pixel output buffers. The arbiter arbitrates between the display channels' requests for display information from the frame buffer and forwards a selected request to the frame buffer. The frame buffer is divided into a first and a second portion. The arbiter alternates display channel requests for data between the first and second portions of the frame buffer. The frame buffer outputs display information in response to receiving the forwarded request, and pixels corresponding to this display information are stored in the output buffers. The arbiter selects which request to forward to the frame buffer based on a relative state of neediness of each of the requesting display channels.
    Type: Application
    Filed: May 18, 2001
    Publication date: March 6, 2003
    Inventors: Michael A. Wasserman, Michael G. Lavelle, David C. Kehlet, Glenn Gracon
  • Publication number: 20030043155
    Abstract: A graphics system that may be shared between multiple display channels includes a frame buffer, two arbiters, a pixel buffer, and several display output queues. The first arbiter arbitrates between the display channels' requests for display information from the frame buffer and forwards a selected request to the frame buffer. The frame buffer outputs display information in response to receiving the forwarded request, and pixels corresponding to this display information are stored in the pixel buffer. Each display channel has a corresponding display output queue that provides data to a display and generates a request for pixels from the pixel buffer. A pixel request arbiter receives the pixel requests generated by the display output queues, selects one of the pixel requests, and forwards the selected request to the pixel buffer. In response, the pixel buffer outputs pixels to the display output queue that generated the selected pixel request.
    Type: Application
    Filed: May 18, 2001
    Publication date: March 6, 2003
    Applicant: Sun Microsystems, Inc.
    Inventors: Michael A. Wasserman, Michael G. Lavelle, David C. Kehlet, Nathaniel David Naegle, Steven Te-Chun Yu, Glenn Gracon
  • Publication number: 20020188770
    Abstract: A host computer system selects optimal matching capabilities supported by both the host computer system and a peripheral device coupled to the computer system. Capabilities include video display device capabilities such as the display resolution. In one embodiment, upon detecting a triggering event such as a power-up, the computer system sends a request for a preferred range of capabilities supported by said peripheral device using a predetermined protocol. If the device is capable of communicating using the predetermined protocol, the device responds by sending its preferred range of capabilities. Next, the host computer compares the preferred range of capabilities with a corresponding range of capabilities supported by said computer system, and attempts to select an optimal matching capability between the preferred range of capabilities and the corresponding range of capabilities.
    Type: Application
    Filed: August 14, 2002
    Publication date: December 12, 2002
    Applicant: Sun Microsystems, Inc.
    Inventor: David C. Kehlet