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: 7042452Abstract: 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: GrantFiled: October 2, 2003Date of Patent: May 9, 2006Assignee: Sun Microsystems, Inc.Inventors: Michael A. Wasserman, Ranjit S. Oberoi, David C. Kehlet, Te-Chun Yu
-
Patent number: 7023444Abstract: 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: GrantFiled: March 20, 2003Date of Patent: April 4, 2006Assignee: 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: 6961861Abstract: 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: GrantFiled: February 27, 2002Date of Patent: November 1, 2005Assignee: Sun Microsystems, Inc.Inventors: Alex N. Koltzoff, David C. Kehlet
-
Patent number: 6924820Abstract: 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: GrantFiled: September 25, 2001Date of Patent: August 2, 2005Assignee: Sun Microsystems, Inc.Inventors: Nandini Ramani, David C. Kehlet, Michael G. Lavelle, Mark E. Pascual, Ewa M. Kubalska, Yi-Ming Tian
-
Patent number: 6914610Abstract: 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: GrantFiled: May 18, 2001Date of Patent: July 5, 2005Assignee: 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: 6864892Abstract: 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: GrantFiled: March 8, 2002Date of Patent: March 8, 2005Assignee: Sun Microsystems, Inc.Inventors: Michael G. Lavelle, Brian D. Emberling, David C. Kehlet, Thomas W. Bowman
-
Patent number: 6833834Abstract: 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: GrantFiled: December 12, 2001Date of Patent: December 21, 2004Assignee: Sun Microsystems, Inc.Inventors: Michael A. Wasserman, Michael G. Lavelle, David C. Kehlet, Yan Yan Tang, Ewa M. Kubalska
-
Patent number: 6803916Abstract: 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: GrantFiled: May 18, 2001Date of Patent: October 12, 2004Assignee: 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: 20040183807Abstract: 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: ApplicationFiled: March 20, 2003Publication date: September 23, 2004Inventors: 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: 6795080Abstract: 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: GrantFiled: January 30, 2002Date of Patent: September 21, 2004Assignee: Sun Microsystems, Inc.Inventors: Michael G. Lavelle, David C. Kehlet, Michael A. Wasserman, Nandini Ramani, Ranjit S. Oberoi
-
Patent number: 6670959Abstract: 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: GrantFiled: May 18, 2001Date of Patent: December 30, 2003Assignee: Sun Microsystems, Inc.Inventors: Michael A. Wasserman, Michael G. Lavelle, David C. Kehlet, Glenn Gracon
-
Patent number: 6654021Abstract: 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: GrantFiled: May 18, 2001Date of Patent: November 25, 2003Assignee: Sun Microsystems, Inc.Inventors: Michael A. Wasserman, Michael G. Lavelle, David C. Kehlet, Nathaniel David Naegle, Steven Te-Chun Yu, Glenn Gracon
-
Publication number: 20030169259Abstract: 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: ApplicationFiled: March 8, 2002Publication date: September 11, 2003Inventors: Michael G. Lavelle, Brian D. Emberling, David C. Kehlet, Thomas W. Bowman
-
Publication number: 20030160797Abstract: 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: ApplicationFiled: February 27, 2002Publication date: August 28, 2003Inventors: Alex N. Koltzoff, David C. Kehlet
-
Publication number: 20030142104Abstract: 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: ApplicationFiled: January 30, 2002Publication date: July 31, 2003Inventors: Michael G. Lavelle, David C. Kehlet, Michael A. Wasserman, Nandini Ramani, Ranjit S. Oberoi
-
Publication number: 20030112250Abstract: 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: ApplicationFiled: December 12, 2001Publication date: June 19, 2003Inventors: Michael A. Wasserman, Michael G. Lavelle, David C. Kehlet, Yan Yan Tang, Ewa M. Kubalska
-
Publication number: 20030058244Abstract: 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: ApplicationFiled: September 25, 2001Publication date: March 27, 2003Inventors: Nandini Ramani, David C. Kehlet, Michael G. Lavelle, Mark E. Pascual, Ewa M. Kubalska, Yi-Ming Tian
-
Publication number: 20030043158Abstract: 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: ApplicationFiled: May 18, 2001Publication date: March 6, 2003Inventors: Michael A. Wasserman, Michael G. Lavelle, David C. Kehlet, Glenn Gracon
-
Publication number: 20030043155Abstract: 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: ApplicationFiled: May 18, 2001Publication date: March 6, 2003Applicant: Sun Microsystems, Inc.Inventors: Michael A. Wasserman, Michael G. Lavelle, David C. Kehlet, Nathaniel David Naegle, Steven Te-Chun Yu, Glenn Gracon
-
Publication number: 20020188770Abstract: 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: ApplicationFiled: August 14, 2002Publication date: December 12, 2002Applicant: Sun Microsystems, Inc.Inventor: David C. Kehlet