Patents by Inventor Andrew Gruber

Andrew Gruber 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).

  • Publication number: 20070222785
    Abstract: A graphics processing system comprises a command processing engine capable of processing pixel command threads and vertex command threads. The command processing engine is coupled to both a renderer and a scan converter. Upon completing processing of a command thread, which may comprise a pixel command thread or a vertex command thread, the command engine provides the command thread to either the renderer or the scan converter.
    Type: Application
    Filed: May 9, 2007
    Publication date: September 27, 2007
    Applicant: ATI Technologies ULC
    Inventors: Laurent Lefebvre, Andrew Gruber, Stephen Morein
  • Publication number: 20070222787
    Abstract: A graphics processing system comprises at least one memory device storing a plurality of pixel command threads and a plurality of vertex command threads. An arbiter coupled to the at least one memory device is provided that selects a command thread from either the plurality of pixel or vertex command threads based on relative priorities of the plurality of pixel command threads and the plurality of vertex command threads. The selected command thread is provided to a command processing engine capable of processing pixel command threads and vertex command threads.
    Type: Application
    Filed: May 9, 2007
    Publication date: September 27, 2007
    Applicant: ATI Technologies ULC
    Inventors: Laurent Lefebvre, Andrew Gruber, Stephen Morein
  • Publication number: 20070216693
    Abstract: A device and method for controlling generation of a final pixel utilizes a conditional statement, referred to as an IF_NEIGHBOR statement, which when compiled, causes a programmable pixel shader to perform mip map texture lookups even if a pixel of interest does not meet the condition of the conditional statement. As such, any neighboring pixels needed for mip map selection have their associated shader code guaranteed to execute even though the pixel of interest may fail the conditional portion of the conditional statement. The device and method executes texture address calculations for pixels within a region and for pixels outside of a region but only those necessary to determine the mip map level corresponding to a pixel within the region. Execution of shader code for a current pixel is executed if any of the surrounding neighboring pixels meet the desired condition even if the current pixel does not meet the condition.
    Type: Application
    Filed: March 15, 2006
    Publication date: September 20, 2007
    Applicant: ATI Technologies Inc.
    Inventor: Andrew Gruber
  • Patent number: 7239322
    Abstract: The present invention includes a multi-thread graphics processing system and method thereof including a reservation station having a plurality of command threads stored therein. The system and method further includes an arbiter operably coupled to the reservation station such that the arbiter retrieves a first command thread of the plurality of command threads stored therein such that the arbiter receives the command thread and thereupon provides the command thread to a command processing engine. The system and method further includes the command processing engine coupled to receive the first command thread from the arbiter such that the command processor may perform at least one processing command from the command thread. Whereupon, a command processing engine provides the first command thread back to the associated reservation station.
    Type: Grant
    Filed: September 29, 2003
    Date of Patent: July 3, 2007
    Assignee: ATI Technologies Inc
    Inventors: Laurent Lefebvre, Andrew Gruber, Stephen Morein
  • Publication number: 20070080972
    Abstract: A method and system for higher level filtering uses a native bilinear filter, typically found in a texture mapper, and combines a plurality of bilinear filter results from the bilinear filter to produce a higher level filtered texel value. A native bilinear filter is operative to generate bilinear filtered texel values by performing a plurality of bilinearly filtered texture fetches using bilinear filter fetch coordinates. The method and system combines the plurality of bilinear filtered texel values with a plurality of weights to generate the higher level filtered texel value.
    Type: Application
    Filed: October 6, 2005
    Publication date: April 12, 2007
    Applicant: ATI TECHNOLOGIES INC.
    Inventor: Andrew Gruber
  • Publication number: 20060109270
    Abstract: A visual display system uses commercial graphics processing units (GPUs) to determine an occlusion of calligraphic light points (CLPs) in a visual display. A color buffer pointer address of the GPUs is changed to point to a CLP subpixel counter and color datum associated with each CLP is changed to an identifier of the respective CLPs so that an occlusion count of GPU indications can be accumulated.
    Type: Application
    Filed: November 1, 2002
    Publication date: May 25, 2006
    Applicant: CAE INC.
    Inventors: Philippe Perey, Andrew Gruber
  • Patent number: 7015930
    Abstract: A method and apparatus for interpolating pixel parameters based on the plurality of vertex values includes operating first and a setup mode and a calculation mode. The method and apparatus includes, while in a setup mode, generating a plurality of differential geometric values based on the plurality of vertex values, wherein the differential geometric values are independent of a parameter slope between the plurality of vertex values. While in a calculation mode, a first geometric value and second geometric value are determined based on a pixel value, a plurality of vertex values and the differential geometric values. A pixel value is determined for each of the plurality of pixels based on the vertex parameter value, the first geometric value and the second geometric value. Thereupon, pixel parameters may be interpolated on a per-pixel basis reusing the differential geometric values.
    Type: Grant
    Filed: August 1, 2003
    Date of Patent: March 21, 2006
    Assignee: ATI Technologies Inc.
    Inventor: Andrew Gruber
  • Publication number: 20050210172
    Abstract: A method and apparatus for processing real time command information includes a real time event engine that monitors event signals. A real time event detector within the real time event engine detects when the real time event occurs. Thereupon, real time event commands within a real time event command buffer are fetched and consumed by the command processor in response to the occurrence of the real time event. The real time event detector contains a plurality of control registers, which contain an event selector register, a real time command buffer point register, and a real time command buffer length register. A driver may program the registers, whereupon a singe real time event detector may be used in conjunction with a plurality of real time event command buffers.
    Type: Application
    Filed: March 2, 2004
    Publication date: September 22, 2005
    Applicant: ATI Technologies Inc.
    Inventors: Andrew Gruber, Stephen Morein
  • Publication number: 20050154864
    Abstract: A method and apparatus for nested control flow includes a processor having at least one context bit. The processor includes a plurality of arithmetic logic units for performing single instruction multiple data (SIMD) operations. The method and apparatus further includes a first memory device storing a plurality of instructions wherein each of the plurality of instructions includes a plurality of extra bits. The processor is operative to execute the instructions based on the extra bits and in conjunction with a context bit. The method and apparatus further includes a second memory device, such as a general purpose register operably coupled to the processor, the second memory device receiving an incrementing counter instruction upon the execution of one of the plurality of instructions. As such, the method and apparatus allows for nested control flow through a single context bit in conjunction with instructions having a plurality of extra bits.
    Type: Application
    Filed: January 14, 2004
    Publication date: July 14, 2005
    Applicant: ATI Technologies, Inc.
    Inventors: Norman Rubin, Andrew Gruber
  • Publication number: 20050068325
    Abstract: The present invention includes a multi-thread graphics processing system and method thereof including a reservation station having a plurality of command threads stored therein. The system and method further includes an arbiter operably coupled to the reservation station such that the arbiter retrieves a first command thread of the plurality of command threads stored therein such that the arbiter receives the command thread and thereupon provides the command thread to a command processing engine. The system and method further includes the command processing engine coupled to receive the first command thread from the arbiter such that the command processor may perform at least one processing command from the command thread. Whereupon, a command processing engine provides the first command thread back to the associated reservation station.
    Type: Application
    Filed: September 29, 2003
    Publication date: March 31, 2005
    Applicant: ATI Technologies, Inc.
    Inventors: Laurent Lefebvre, Andrew Gruber, Stephen Morein
  • Publication number: 20050024385
    Abstract: A method and apparatus for interpolating pixel parameters based on the plurality of vertex values includes operating first and a setup mode and a calculation mode. The method and apparatus includes, while in a setup mode, generating a plurality of differential geometric values based on the plurality of vertex values, wherein the differential geometric values are independent of a parameter slope between the plurality of vertex values. While in a calculation mode, a first geometric value and second geometric value are determined based on a pixel value, a plurality of vertex values and the differential geometric values. A pixel value is determined for each of the plurality of pixels based on the vertex parameter value, the first geometric value and the second geometric value. Thereupon, pixel parameters may be interpolated on a per-pixel basis reusing the differential geometric values.
    Type: Application
    Filed: August 1, 2003
    Publication date: February 3, 2005
    Applicant: ATI Technologies, Inc.
    Inventor: Andrew Gruber
  • Patent number: 6542159
    Abstract: A method and apparatus for dynamic issuing of memory access instructions. In particular, a specific data access request that is about to be sent to a memory, such as a frame buffer, is dynamically chosen based upon pending requests within a pipeline. It is possible to optimize video data requests by dynamically selecting a memory access request at the time the request is made to the memory. In particular, if it is recognized that the memory about to be accessed will no longer be needed by subsequent memory requests, the request can be changed from a normal access request to an access request with an auto-close option. By using an auto close option, the memory bank being accessed is closed after the access, without issuing a separate memory close instruction.
    Type: Grant
    Filed: May 19, 1999
    Date of Patent: April 1, 2003
    Assignee: ATI International S.r.l.
    Inventors: Carl Mizuyabu, Milivoje Aleksic, Andrew Gruber
  • Patent number: 6115793
    Abstract: A cache memory system which minimizes the latency and latency uncertainty of data memory access by allocating spare cache memories to subsequent conflicting requests, and maintaining the prior requests in a separate table until the prior request is satisfied and the prior allocated cache is free. This reallocation of physical caches to conflicting requests is effected by maintaining an index to the physical cache that is separate and distinct from the logical index associated with the requests that cause the conflict. A conventional indexed cache mechanism is employed to derive the logical index from a subset of the address of the requested data. When the same logical index occurs from data requests from different blocks of memory, the conflict is resolved by assigning a free physical cache to the latter request. The latter assignment is stored in the indexed cache table, and the former assignment is stored in a separate table until it is no longer required.
    Type: Grant
    Filed: February 11, 1998
    Date of Patent: September 5, 2000
    Assignee: ATI Technologies, Inc.
    Inventors: Andrew Gruber, Yury Levin