Patents by Inventor Michael G. Lavelle

Michael G. Lavelle 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: 7106326
    Abstract: A graphical processing system comprising a computational unit and a shadow processing unit coupled to the computational unit through a communication bus. The computational unit is configured to transfer coordinates C1 of a point P with respect to a first space to the shadow processing unit. In response to receiving the coordinates C1, the shadow processing unit is configured to: (a) transform the coordinate C1 to determine map coordinates s and t and a depth value Dp for the point P, (b) access a neighborhood of depth values from a memory using the map coordinates s and t, (c) compare the depth value DP to the depth values of the neighborhood, (d) filter binary results of the comparisons to determine a shadow fraction, and (e) transfer the shadow fraction to the computational unit through the communication bus.
    Type: Grant
    Filed: March 3, 2003
    Date of Patent: September 12, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael F. Deering, Michael G. Lavelle, Douglas C. Twilleager, Daniel S. Rice
  • Patent number: 7027064
    Abstract: An external cache management unit for use with 3D-RAM and suitable for use in a computer graphics system is described. The unit maintains and tracks the status of level one cache memory in the 3D-RAM. The unit identifies dirty blocks of cache memory and prioritizes block cleansing based on a least used algorithm. Periodic block cleansing during empty memory cycles is provided for, and may also be prompted on demand.
    Type: Grant
    Filed: February 28, 2002
    Date of Patent: April 11, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael G. Lavelle, Ewa M. Kubalska, Yan Yan Tang
  • 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: 6999087
    Abstract: A graphics system may include a frame buffer and a hardware accelerator. The frame buffer may include a sample buffer and a double-buffered display area. The hardware accelerator may be coupled to the frame buffer, and configured (a) to receive primitives, (b) to generate samples for the primitives based on a dynamically adjustable sample density value, (c) to write the samples into the sample buffer, (d) to read the samples from the sample buffer, (e) to filter the samples to generate pixels, (f) to store the pixels in a back buffer of the double-buffered display area. A host computer may be configured (e.g., by means of stored program instructions) to dynamically update programmable registers of the graphics system to reallocate the sample buffer in the frame buffer in response to user input specifying a change in one or more window size parameters.
    Type: Grant
    Filed: March 6, 2003
    Date of Patent: February 14, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael G. Lavelle, Justin Michael Mahan
  • Patent number: 6982719
    Abstract: A graphics system configured with a scheduling network, a sample buffer, a rendering engine and a filtering engine. The rendering engine is configured to generate samples in response to received graphics data, and to forward the samples to the scheduling network for storage in the sample buffer. The filtering engine is configured to send a request for samples to the scheduling network. The scheduling network is configured to compare a video set designation of the request to a previous request designation, to update one or more state registers in one or more memory devices of the sample buffer in response to a determination that the video set designation of the request is different from the previous request designation, and to assert signals inducing a transfer of a collection of samples corresponding to the request from the one or more memory devices to the filtering engine.
    Type: Grant
    Filed: July 15, 2002
    Date of Patent: January 3, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael F. Deering, Nathaniel David Naegle, Michael G. Lavelle
  • Patent number: 6975317
    Abstract: A graphics system and method for rendering a plurality of triangles. Information regarding the triangle may first be received. The method may then determine the longest edge or major edge of the triangle and also determine the direction or axis of the longest edge of the triangle. The method may then perform edge walking on the major edge (e.g., along the axis of the major edge) of the triangle, followed by span walking. The edge walking is preferably always performed on the major or longest edge of the triangle, prior to the span walking, and regardless of the orientation of the major edge of the triangle. This operates to load balance the edge walker and the span walker for the plurality of triangles.
    Type: Grant
    Filed: March 12, 2002
    Date of Patent: December 13, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: Patrick Shehane, Michael G. Lavelle, Mark E. Pascual, Wing-Cheong Tang, Nandini Ramani
  • Patent number: 6975322
    Abstract: A graphics system includes a hardware accelerator and a frame buffer. The frame buffer includes a sample storage area and a double-buffered display pixel area. The hardware accelerator is operable to (a) render a stream of primitives into samples, (b) store the samples into the sample storage area of the frame buffer, (c) read the samples from the sample storage area, (d) filter the samples to generate pixels, and (e) store the pixels into a first buffer of the display pixel area of the frame buffer. Furthermore, the hardware accelerator is operable to perform (a), (b), (c), (d) and (e) one or more times on one or more corresponding streams of primitives to complete a frame of an animation before passing control of the first buffer to a video output processor.
    Type: Grant
    Filed: March 6, 2003
    Date of Patent: December 13, 2005
    Assignee: Sun Microsystems, Inc.
    Inventor: Michael G. Lavelle
  • Patent number: 6963342
    Abstract: A system and method for assigning operations to multiple pipelines in a graphics system is disclosed. The graphics system may include an arbitration unit coupled to a plurality of calculation pipelines. The arbitration unit is operable to provide graphics operations to selected ones of the calculation pipelines. Each of the calculation pipelines is operable to perform a graphics operation. Each of the calculation pipelines may include digital logic and/or a processing element for performing the graphics operations. An operation may be assigned to a pipeline if the pipeline is performing a low latency operation. A low latency operation may comprise an operation that is performed by one of the calculation pipelines in less time than a pre-determined number of clock cycles.
    Type: Grant
    Filed: February 28, 2002
    Date of Patent: November 8, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: Mark E. Pascual, Michael G. Lavelle, Nandini Ramani, Patrick Shehane
  • Patent number: 6943791
    Abstract: A system and method are disclosed for utilizing a Z slope test to select polygons that may be candidates for multiple storage methods. The method may calculate the absolute Z slope from vertex data and compare the calculated value with a specified threshold value. In some embodiments, for polygons that have an absolute Z slope less than the threshold value, parameter values may be rendered for only one sample position of multiple neighboring sample positions. The parameter values rendered for the one sample position may then be stored in multiple memory locations that correspond to the multiple neighboring sample positions. In some embodiments, storing parameter values in multiple memory locations may be achieved in a single write transaction. In some embodiments, utilization of the Z slope test method may be subject to user input and in other embodiments may be a dynamic decision controlled by the graphics system.
    Type: Grant
    Filed: March 11, 2002
    Date of Patent: September 13, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: Mark E. Pascual, Michael G. Lavelle, Michael F. Deering, Nandini Ramani
  • 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: 6906720
    Abstract: A graphics system may include a frame buffer, a processing device coupled to output data, a multipurpose memory device that includes a plurality of storage locations and is coupled to store data output from the processing device, and a multipurpose memory controller coupled to the multipurpose memory device. The multipurpose memory controller may be configured to allocate a first plurality of the storage locations to a first image buffer configured to store image data, a second plurality of the storage locations to a first texture buffer configured to store texture data, and a third plurality of the storage locations to a first accumulation buffer configured to store accumulation buffer data. The multipurpose memory device may be configured to include a first image buffer, a first texture buffer, and a first accumulation buffer at the same time.
    Type: Grant
    Filed: March 12, 2002
    Date of Patent: June 14, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: Brian D. Emberling, Michael G. Lavelle
  • Patent number: 6900803
    Abstract: A graphics system and method are disclosed that may optimize the rate of pixel generation to match the rate at which a memory may be designed to receive pixel data. If a memory is configured to store multiple pixels substantially simultaneously, it may be advantageous to render an equivalent number of pixels substantially simultaneously and at the same rate. An edge walker that utilizes multiple sets of accumulators to generate multiple scan lines substantially simultaneously and a span walker that utilizes multiple sets of accumulators to render multiple pixel values substantially simultaneously is described.
    Type: Grant
    Filed: March 12, 2002
    Date of Patent: May 31, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: Patrick Shehane, Michael G. Lavelle, Mark E. Pascual, Wing-Cheong Tang, Nandini Ramani
  • Patent number: 6867778
    Abstract: A system and method for rendering a polygon, such as a triangle. The method may comprise receiving geometry data (or vertex data) defining vertices of the polygon. The method may compute initial vertex x,y values at end points proximate to each of the vertices of the polygon, and a slope value along each edge of the polygon. The computed slope may be a quantized slope value having a first number of bits of precision. The first number of bits of precision may produce inaccuracies for interpolated x,y values computed at the end points of an edge of the polygon. The method may then interpolate x,y values along each respective edge of the polygon using the computed slope along the respective edge of the polygon. Finally the method may store final x,y values for each respective edge of the polygon. The final x,y values comprise the interpolated x,y values for non-end points of the respective edge, and the computed initial vertex x,y values for each of the end points of the respective edge.
    Type: Grant
    Filed: February 28, 2002
    Date of Patent: March 15, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: Wing-Cheong Tang, Michael G. Lavelle, Mark E. Pascual, Patrick Shehane, Nandini Ramani
  • 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: 6864900
    Abstract: A graphics system and method for panning from one portion of a stored image to another portion of the image includes a frame buffer, one or more display devices, one or more raster parameter registers, and one or more raster parameter updaters. The image is stored in the frame buffer and each display device is configured to display less than the entire image. A panning operation is initiated by requesting an update of one or more of the raster parameter registers during a next blanking period.
    Type: Grant
    Filed: May 18, 2001
    Date of Patent: March 8, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael A. Wasserman, Michael G. Lavelle, Elena M. Ing
  • Patent number: 6859209
    Abstract: A graphics system applies multiple layers of texture information to triangles. The graphics system includes a hardware accelerator, a frame buffer and a video output processor. The hardware accelerator receives vertices of a triangle, identifies fragments of a sampling space which intersect the triangle, and applies the multiple layers of texture to the intersecting fragments. The multiple layers of textures may be stored in a texture memory external to the hardware accelerator. The hardware accelerator switches to a next texture layer after applying the textures of a current layer to all the fragments of the triangle. The hardware accelerator includes (or couples to) a texture accumulation buffer which stores color values associated with the triangle fragments between the application of successive texture layers. The frame buffer stores the samples and pixels generated from the samples by filtration. The video output processor transforms the pixels into a video signal.
    Type: Grant
    Filed: May 18, 2001
    Date of Patent: February 22, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael G. Lavelle, Brian D. Emberling, Ranjit S. Oberoi, Deron D. Johnson, Ewa M. Kubalska
  • Patent number: 6847378
    Abstract: In one embodiment, a scale and bias unit for use in a graphics system includes a preclamping unit configured to receive an input and to responsively generate an output value equal to a first value if the input is within a first input range. The scale and bias unit also includes a processing unit coupled to the preclamping unit and configured to perform a calculation on the input to generate the output value. The processing unit does not perform the calculation if the input is within the first input range.
    Type: Grant
    Filed: March 7, 2002
    Date of Patent: January 25, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: Ranjit S. Oberoi, Michael G. Lavelle, Anthony S. Ramirez
  • Patent number: 6847372
    Abstract: A system and a method for improving magnified texture-mapped pixel performance in a single-pixel pipeline. Two textured pixel addresses corresponding to two pixels may be generated. The two textured pixel addresses may then be passed to the next unit in the pipeline, where the two textured pixel addresses can be examined if the corresponding two pixels correspond to a common set of texels in texture space. The two textured pixel addresses may be merged together if the two pixels correspond to the common set of texels. Merging may operate to create a combined texel structure. Texel data may be generated in response to receiving the combined texel structure. The texel data may be filtered using one or more texture filters in order to generate texture values.
    Type: Grant
    Filed: March 11, 2002
    Date of Patent: January 25, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: Brian D. Emberling, Michael G. Lavelle
  • Patent number: 6847369
    Abstract: A data queue optimized for receiving loosely packed graphics data and suitable for use in a computer graphics system is described. The data queue operates on first-in-first-out principals, and has a variable width input and output. The variable width on the input side facilitates the reception and storage of loosely packed data. The variable width output allows for the single-cycle output of multi-word data. Packing of the data occurs on the write-side of the FIFO structure.
    Type: Grant
    Filed: January 30, 2002
    Date of Patent: January 25, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael G. Lavelle, Ewa M. Kubalska, Anthony S. Ramirez, Huang Pan