Patents by Inventor Michael A. Mang
Michael A. Mang 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: 12288286Abstract: Techniques are disclosed relating to distributing geometry work in a graphics processor. In some embodiments, multiple geometry pipelines are configured to process, in parallel, multiple segments of a set of geometry work. In some embodiments, control circuitry is configured to split operations from the set of graphics work into the multiple segments. This may include parsing a control stream for the set of graphics work to determine an initial work estimate based on numbers of primitives in different draw calls and adjusting the initial work estimate based on a complexity determination for the draw call.Type: GrantFiled: November 14, 2022Date of Patent: April 29, 2025Assignee: Apple Inc.Inventors: Jason D. Carroll, Ali Rabbani Rankouhi, Michael A. Mang, Ralph C. Taylor
-
Publication number: 20250095268Abstract: Techniques are disclosed relating to object and mesh shaders executed by a graphics processor. In some embodiments, a device includes buffer circuitry, shader circuitry configured to execute graphics programs, including mesh shaders that store output data in the buffer circuitry, and primitive processing circuitry configured to read data from buffer circuitry and process the data, including to cull primitives that are not visible in a graphics frame. Vertex control circuitry may receive: first signaling from the primitive processing circuitry that indicates whether the primitive processing circuitry is waiting for data from the buffer circuitry and second signaling from the shader circuitry that indicates whether the shader circuitry is blocked waiting for allocation in the buffer circuitry. The vertex control circuitry may adjust distribution of mesh shader work to the shader circuitry based on the first signaling and the second signaling.Type: ApplicationFiled: October 31, 2024Publication date: March 20, 2025Inventors: Michael A. Mang, Jason D. Carroll, Jingfei Kong, Ralph C. Taylor
-
Patent number: 12182926Abstract: Techniques are disclosed relating to using an initial version of an object shader to determine a child count and distribute geometry work based on the child count. In some embodiments, graphics shader circuitry is configured to execute shader programs including object shaders and mesh shaders. Vertex control circuitry is configured to, for a given object shader: launch an initial version of the given object shader to determine a number of meshlets to be generated by the given object shader (e.g., where the initial version of the given object shader does not commit side effects to architectural state of the apparatus) and select shader circuitry to execute a complete version of the given object shader based on the determined number of meshlets.Type: GrantFiled: November 14, 2022Date of Patent: December 31, 2024Assignee: Apple Inc.Inventors: Jeffrey T. Brady, Jason D. Carroll, Michael A. Mang, Ralph C. Taylor
-
Patent number: 12169898Abstract: Techniques are disclosed relating to object and mesh shaders executed by a graphics processor. In some embodiments, a device includes buffer circuitry and shader circuitry configured to execute graphics programs. Control circuitry may: generate object shader work and mesh shader work for the shader circuitry, receive output information generated by a mesh shader that indicates a number of vertices and primitives to be output by the mesh shader, allocate, based on the output information and after execution of at least a portion of the mesh shader, a region of the buffer circuitry for storage of the vertices to be output by the mesh shader, and store the vertices output by the mesh shader in the allocated region. Disclosed techniques may advantageously provide efficient use of limited buffer resources.Type: GrantFiled: November 11, 2022Date of Patent: December 17, 2024Assignee: Apple Inc.Inventors: Michael A. Mang, Jason D. Carroll, Jingfei Kong, Ralph C. Taylor
-
Patent number: 12165251Abstract: Techniques are disclosed relating to object and mesh shaders executed by a graphics processor. In some embodiments, a device includes buffer circuitry, shader circuitry configured to execute graphics programs, including mesh shaders that store output data in the buffer circuitry, and primitive processing circuitry configured to read data from buffer circuitry and process the data, including to cull primitives that are not visible in a graphics frame. Vertex control circuitry may receive: first signaling from the primitive processing circuitry that indicates whether the primitive processing circuitry is waiting for data from the buffer circuitry and second signaling from the shader circuitry that indicates whether the shader circuitry is blocked waiting for allocation in the buffer circuitry. The vertex control circuitry may adjust distribution of mesh shader work to the shader circuitry based on the first signaling and the second signaling.Type: GrantFiled: November 11, 2022Date of Patent: December 10, 2024Assignee: Apple Inc.Inventors: Michael A. Mang, Jason D. Carroll, Jingfei Kong, Ralph C. Taylor
-
Patent number: 10269091Abstract: Techniques are disclosed relating to storage techniques for storing primitive information with vertex re-use. In some embodiments, graphics circuitry aggregates primitive information (including vertex data) for multiple primitives into a primitive block data structure. This may include storing only a single instance of a vertex for multiple primitives that share the vertex. The graphics circuitry may switch between primitive blocks, with one being active and the others non-active. For non-active primitive blocks, the graphics circuitry may track whether vertex identifiers have been used for a new vertex, which may prevent vertex re-use. If an identifier is not used for a new vertex, however, a vertex may be re-used across deactivation and reactivation of a primitive block.Type: GrantFiled: November 10, 2017Date of Patent: April 23, 2019Assignee: Apple Inc.Inventors: Michael A. Mang, Andrew M. Havlir
-
Patent number: 6967664Abstract: A method and apparatus for processing graphics primitives that includes a trivial discard guard band. Such a trivial discard guard band is used for comparison operations with the vertices of graphics primitives to determine whether the graphics primitives can be trivially discarded such that no further processing of the primitives is performed. The trivial discard guard band may be based on the specific dimensions of primitives such as one-half of the width of the line primitives or the radial dimension of point primitives such that the rasterization area of such primitives is taken into account when trivial discard decisions are performed.Type: GrantFiled: April 20, 2000Date of Patent: November 22, 2005Assignee: ATI International SRLInventors: Ralph C. Taylor, Michael Mantor, Michael A. Mang
-
Patent number: 6784888Abstract: The occurrence of an (n+m) input operand instruction that requires more than n of its input operands from an n-output data source is recognized by a programmable vertex shader (PVS) controller. In turn, the PVS controller provides at least two substitute instructions, neither of which requires more than n operands from the n output data source, to a PVS engine. A first of the substitute instructions is executed by the PVS engine to provide an intermediate result that is temporarily stored and used as an input to another of the at least two substitute instructions. In this manner, the present invention avoids the expense of additional or significantly modified memory. In one embodiment of the present invention, a pre-accumulator register internal to the PVS engine is used to store the intermediate result. In this manner, the present invention provides a relatively inexpensive solution for a relatively infrequent occurrence.Type: GrantFiled: October 3, 2001Date of Patent: August 31, 2004Assignee: ATI Technologies, Inc.Inventors: Ralph C. Taylor, Michael A. Mang, Michael J. Mantor
-
Patent number: 6686924Abstract: A method and apparatus for parallel processing of geometric aspects of video graphics data include processing that begins by determining whether an object-element is within a clipped volume. The processing continues by determining whether the object-element is to be clipped when it is within the clipped volume. The processing then continues by performing in parallel, a clipping function and an attribute derivation function upon the object-element when the object-element is to be clipped. The attribute derivation function may include performing a light function, texture map function, etc.Type: GrantFiled: February 2, 2000Date of Patent: February 3, 2004Assignee: ATI International, SRLInventors: Michael A. Mang, Ralph C. Tayor, Michael J. Mantor
-
Patent number: 6664960Abstract: An apparatus for processing a non-planar graphics primitive employs an associated method of operation and includes a controller, at least one computation engine, memory and at least one lookup table. Responsive to operation codes issued by the controller, the computation engine(s) determines a group of control points based on the position coordinates and normal vectors of the non-planar primitive vertices. The computation engine(s) then determines position coordinates of supplemental vertices defining multiple planar tessellated primitives based on the control points and stored weighting factors that provide a cubic relation between the control points and the position coordinates of the supplemental vertices. A first memory stores at least the control points and at least one lookup table stores the cubic weighting factors.Type: GrantFiled: May 10, 2001Date of Patent: December 16, 2003Assignee: ATI Technologies Inc.Inventors: Vineet Goel, Robert S. Hartog, Michael A. Mang
-
Publication number: 20030067473Abstract: The occurrence of an (n+m) input operand instruction that requires more than n of its input operands from an n-output data source is recognized by a programmable vertex shader (PVS) controller. In turn, the PVS controller provides at least two substitute instructions, neither of which requires more than n operands from the n output data source, to a PVS engine. A first of the substitute instructions is executed by the PVS engine to provide an intermediate result that is temporarily stored and used as an input to another of the at least two substitute instructions. In this manner, the present invention avoids the expense of additional or significantly modified memory. In one embodiment of the present invention, a pre-accumulator register internal to the PVS engine is used to store the intermediate result. In this manner, the present invention provides a relatively inexpensive solution for a relatively infrequent occurrence.Type: ApplicationFiled: October 3, 2001Publication date: April 10, 2003Inventors: Ralph C. Taylor, Michael A. Mang, Michael J. Mantor
-
Patent number: 6512524Abstract: A method and apparatus for determining attributes of an object-element using barycentric coordinates includes processing that begins by obtaining a barycentric coordinate for a vertex of an object-element. The object-element is clipped with respect to a clipping plane where a first component of the barycentric coordinate corresponds to a first original vertex of the object-element, a second component of the barycentric coordinate corresponds to a second original vertex of the object-element and a third component of the barycentric coordinate corresponds to a third vertex of the object-element. The processing continues by, for each non-zero component of the barycentric coordinate, determining whether at least one attribute of the corresponding vertex of the non-component is substantially similar. The processing continues by setting the at least one corresponding attribute of the vertex to substantially equal the attribute for the other vertex when the at least one attribute is substantially similar.Type: GrantFiled: February 2, 2000Date of Patent: January 28, 2003Assignee: ATI International, SRLInventor: Michael A. Mang
-
Publication number: 20030011595Abstract: An apparatus for processing a non-planar graphics primitive employs an associated method of operation and includes a controller, at least one computation engine, memory and at least one lookup table. Responsive to operation codes issued by the controller, the computation engine(s) determines a group of control points based on the position coordinates and normal vectors of the non-planar primitive vertices. The computation engine(s) then determines position coordinates of supplemental vertices defining multiple planar tessellated primitives based on the control points and stored weighting factors that provide a cubic relation between the control points and the position coordinates of the supplemental vertices. A first memory stores at least the control points and at least one lookup table stores the cubic weighting factors.Type: ApplicationFiled: May 10, 2001Publication date: January 16, 2003Inventors: Vineet Goel, Robert S. Hartog, Michael A. Mang
-
Patent number: 6507348Abstract: A method and apparatus for clipping an object element include processing that begins by ascribing barycentric coordinates to each original vertices of an object-element wherein each barycentric coordinate is a weighting factor with respect to a corresponding original vertex. The processing continues by obtaining clipping distances for each original vertex with respect to a clipping plane. For a new vertex of an object-element that represents an intersection of an edge of the object-element with the clipping plane, the process continues by determining a barycentric coordinate for the new vertex. The determination of the new vertex is based on the barycentric coordinates of the original vertices defining the edge and the clipping distances. Having determined the barycentric coordinates for the new vertices corresponding to a clipping plane, the process is repeated for each of a plurality of other clipping planes that intersect the object-element.Type: GrantFiled: February 2, 2000Date of Patent: January 14, 2003Assignee: ATI International, SRLInventors: Michael A. Mang, Ralph C. Taylor, Michael J. Manter, Thomas B. Pringle
-
Patent number: 6459438Abstract: A method and apparatus for determining a clipping distance of vertices of object-element with respect to a clipping plane include processing that begins by obtaining a clipping distance for each original vertex of an object-element with respect to the clipping plane. The processing then continues by obtaining a barycentric coordinate of the vertex of the object-element that represents of an intersection of an edge of the object-element with a previously processed clipping plane. The processing then continues by deriving a clipping distance from the vertex to the clipping plane based on the barycentric coordinate of the vertex and the clipping distance for each of the original vertices.Type: GrantFiled: February 2, 2000Date of Patent: October 1, 2002Assignee: ATI International SRlInventor: Michael A. Mang
-
Patent number: 6433790Abstract: A method and system for rendering a feature, such as a line, for display on an array of pixels. With this method, the line is identified on the pixel array, the line is expanded into a polygon, and color values are determined for the pixels within the polygon. Also, an antialiasing region is identified in the polygon, and blend values are computed for the pixels in this antialiasing region. Then, the color values determined for the pixels in the antialiasing region are modified as a function of these computed blend values. The pixels in the antialiasing region may then be shown at their modified color values, while the pixels that are in the polygon but not in the antialising region may be shown at their original determined color value. Preferably, the blend values for the pixels in the antialiasing region are calculated as a function of the locations of the pixels in that region.Type: GrantFiled: January 19, 1999Date of Patent: August 13, 2002Assignee: Intel CorporationInventors: Ralph Clayton Taylor, Daniel B. Clifton, David Gotwalt, Michael A. Mang, Thomas A. Piazza, Jeffrey D. Potter
-
Patent number: 6072505Abstract: A rasterizer comprised of a bounding box calculator, a plane converter, a windower, and incrementers. For each polygon to be processed, a bounding box calculation is performed which determines the display screen area, in spans, that totally encloses the polygon and passes the data to the plane converter. The plane converter also receives as input attribute values for each vertex of the polygon. The plane converter computes planar coefficients for each attribute of the polygon, for each of the edges of the polygon. The plane converter unit computes the start pixel center location at a start span and a starting coefficient value at that pixel center. The computed coefficients also include the rate of change or gradient, for each polygon attribute in the x and y directions, respectively. The plane converter also computes line coefficients for each of the edges of the polygon.Type: GrantFiled: April 1, 1998Date of Patent: June 6, 2000Assignee: Real 3D, Inc.Inventors: Thomas A. Piazza, R. Scott Hartog, Michael Mantor, Jeffrey D. Potter, Ralph Clayton Taylor, Michael A. Mang