Pipeline Processors Patents (Class 345/506)
  • Publication number: 20140118365
    Abstract: One embodiment of the present invention includes a method for tracking which cache tiles included in a plurality of cache tiles are intersected by a plurality of bounding boxes. The method includes receiving the plurality of bounding boxes, wherein each bounding box is associated with one or more graphics primitives being rendered to a render surface, and wherein the render surface is divided into the plurality of cache tiles. The method further includes, for each bounding box included in the plurality of bounding boxes, determining one or more cache tiles included in the plurality of cache tiles that are intersected by the bounding box, and storing a result in an array for each cache tile that is intersected by the bounding box. Finally, the method includes determining not to process a cache tile included in the plurality of cache tiles based on the results stored in the array.
    Type: Application
    Filed: August 14, 2013
    Publication date: May 1, 2014
    Applicant: NVIDIA CORPORATION
    Inventor: Ziyad S. HAKURA
  • Patent number: 8713575
    Abstract: A data processing architecture includes multiple processors connected in series between a load balancer and reorder logic. The load balancer is configured to receive data and distribute the data across the processors. Appropriate ones of the processors are configured to process the data. The reorder logic is configured to receive the data processed by the processors, reorder the data, and output the reordered data.
    Type: Grant
    Filed: June 29, 2012
    Date of Patent: April 29, 2014
    Assignee: Juniper Networks, Inc.
    Inventors: John C Carney, Michael E Lipman
  • Patent number: 8711156
    Abstract: A method and system for remapping units that are disabled to active units in a 3-D graphics pipeline. Specifically, in one embodiment, a method remaps processing elements in a pipeline of a graphics pipeline unit. Graphical input data are received. Then the number of enabled processing elements are determined from a plurality of processing elements. Each of the enabled processing elements are virtually addressed above a translator to virtually process the graphical input data. Then, the virtual addresses of each of the enabled processing elements are mapped to physical addresses of the enabled processing elements at the translator. The graphical input data are physically processed at the physical addresses of the enabled processing elements. In addition, each of the enabled processing elements are physically addressed below the translator to further process the graphical input data.
    Type: Grant
    Filed: September 30, 2004
    Date of Patent: April 29, 2014
    Assignee: Nvidia Corporation
    Inventors: Dominic Acocella, Timothy J. McDonald, Robert W. Gimby, Thomas H. Kong
  • Patent number: 8711173
    Abstract: A display pipe unit for processing pixels of video and/or image frames may be injected with dither-noise during processing of the pixels. A random noise generator implemented using Linear Feedback Shift Registers (LFSRs) produces pseudo-random numbers that are injected into the display pipe as dither-noise. Typically, such LFSRs shift freely during operation and the values of the LFSRs are used as needed. By shifting the LFSRs when the values are used to inject noise into newly received data, and not shifting the LFSRs when no new data is received, variations in the delays of receiving the data do not affect the pattern of noise applied to the frames. Therefore, dither-noise can be deterministically injected into the display pipe during testing/debug operation. By updating the LFSRs when new pixel data is available from the host interface instead of updating the LFSRs every cycle, the same dither-noise can be injected for the same received data.
    Type: Grant
    Filed: February 14, 2011
    Date of Patent: April 29, 2014
    Assignee: Apple Inc.
    Inventors: Joseph P. Bratt, Peter F. Holland
  • Patent number: 8711155
    Abstract: A pixel processing system and method which permits rendering of complicated three dimensional images using a shallow graphics pipeline including reduced gate counts and low power operation. Pixel packet information includes pixel surface attribute values retrieved in a single unified data fetch stage. A determination is made if the pixel packet information contributes to an image display presentation (e.g., a depth comparison of Z values may be performed). The pixel packet information processing is handled in accordance with results of the determining. The pixel surface attribute values and pixel packet information are removed from further processing if the pixel surface attribute values are occluded. In one exemplary implementation, the pixel packet includes a plurality of rows and the handling is coordinated for the plurality of rows.
    Type: Grant
    Filed: May 14, 2004
    Date of Patent: April 29, 2014
    Assignee: Nvidia Corporation
    Inventors: Edward A. Hutchins, Brian K. Angell
  • Patent number: 8704835
    Abstract: A parallel processing subsystem includes a plurality of general processing clusters (GPCs). Each GPC includes one or more clipping, culling, viewport transformation, and perspective correction engines (VPC). Since VPCs are distributed per GPC, each VPC can process graphics primitives in parallel with the other VPCs processing graphics primitives.
    Type: Grant
    Filed: October 8, 2009
    Date of Patent: April 22, 2014
    Assignee: Nvidia Corporation
    Inventors: Ziyad S. Hakura, Emmett M. Kilgariff
  • Patent number: 8704826
    Abstract: One embodiment of the present invention includes approaches for processing graphics primitives associated with cache tiles when rendering an image. A set of graphics primitives associated with a first render target configuration is received from a first portion of a graphics processing pipeline, and the set of graphics primitives is stored in a memory. A condition is detected indicating that the set of graphics primitives is ready for processing, and a cache tile is selected that intersects at least one graphics primitive in the set of graphics primitives. At least one graphics primitive in the set of graphics primitives that intersects the cache tile is transmitted to a second portion of the graphics processing pipeline for processing. One advantage of the disclosed embodiments is that graphics primitives and associated data are more likely to remain stored on-chip during cache tile rendering, thereby reducing power consumption and improving rendering performance.
    Type: Grant
    Filed: September 10, 2013
    Date of Patent: April 22, 2014
    Assignee: Nvidia Corporation
    Inventors: Ziyad S. Hakura, Robert Ohannessian, Cynthia Allison, Dale L. Kirkland
  • Patent number: 8698811
    Abstract: A method for traversing pixels of an area is described. The method includes the steps of traversing a plurality of pixels of an image using a first boustrophedonic pattern along a predominant axis, and, during the traversal using the first boustrophedonic pattern, traversing a plurality of pixels of the image using a second boustrophedonic pattern. The second boustrophedonic pattern is nested within the first boustrophedonic pattern.
    Type: Grant
    Filed: December 15, 2005
    Date of Patent: April 15, 2014
    Assignee: Nvidia Corporation
    Inventors: Franklin C. Crow, Justin S. Legakis, Jeffrey R. Sewall
  • Patent number: 8698838
    Abstract: Systems and methods for layering multiple graphics planes on top of a compressed video signal are disclosed herein. A processed video stream is received from a video processing path, wherein the processed video stream comprises a stream of video macroblocks. A composite graphics plane is received from a graphics processing path, wherein the composite graphics plane comprises a set of graphics macroblocks. The composite graphics plane comprises a plurality of layered graphics planes. The composite graphics plane is layered on top of the processed video stream to generate an output video stream. Layering comprises blending a video macroblock from the stream of video macroblocks with a graphics macroblock from the set of graphics macroblocks. By layering one macroblock at time, graphics overlay can occur in real time or faster than real time as the compressed input stream is received.
    Type: Grant
    Filed: September 7, 2007
    Date of Patent: April 15, 2014
    Assignee: Zenverge, Inc.
    Inventor: Anthony D. Masterson
  • Patent number: 8698818
    Abstract: Systems, methods, and computer-readable media for optimizing emulated fixed-function and programmable graphics operations are provided. Data comprising fixed function and programmable states for an image or scenario to be rendered is received. The data for the image is translated into operations. One or more optimizations are applied to the operations. The optimized operations are implemented to render the scenario.
    Type: Grant
    Filed: May 15, 2008
    Date of Patent: April 15, 2014
    Assignee: Microsoft Corporation
    Inventors: Blake Pelton, Andy Glaister, Mikhail Lyapunov, Steve Kihslinger, David Tuft
  • Patent number: 8698819
    Abstract: Embodiments for programming a graphics pipeline, and modules within the graphics pipeline, are detailed herein. One embodiment described a method of implementing software assisted shader merging for a graphics pipeline. The method involves accessing a first shader program in memory, and generating a first shader instruction from that program. This first instruction is loaded into an instruction table at a first location, indicated by an offset register. A second shader program in memory is then accessed, and used to generate a second shader instruction. The second shader instruction is loaded into the instruction table at a second location indicated by the offset register.
    Type: Grant
    Filed: August 15, 2007
    Date of Patent: April 15, 2014
    Assignee: NVIDIA Corporation
    Inventors: Justin Michael Mahan, Edward A. Hutchins
  • Patent number: 8693534
    Abstract: An apparatus including a graphics processing unit, a processor and a memory. The memory stores computer executable instructions. The computer executable instructions, when executed by the processor, configure the graphics processing unit to store a current frame, at least one reference frame, and a reconstructed frame in a globally shared memory of the graphics processing unit.
    Type: Grant
    Filed: May 10, 2011
    Date of Patent: April 8, 2014
    Assignee: Elemental Technologies, Inc.
    Inventors: Brian G. Lewis, Jesse J. Rosenzweig
  • Patent number: 8681161
    Abstract: Systems and methods are disclosed for performing multiple processing of data in a network. In one embodiment, the network comprises a first display pipeline that is formed in real time from a plurality of possible display pipelines and that performs at least a first processing step on received data. A buffer stores the processed data and a second display pipeline that is formed in real time from a plurality of possible display pipelines performs at least a second processing step on stored data.
    Type: Grant
    Filed: January 21, 2013
    Date of Patent: March 25, 2014
    Assignee: Broadcom Corporation
    Inventors: Patrick Law, Darren Neuman, David Baer
  • Publication number: 20140078158
    Abstract: Systems and methods are disclosed for video processing modules. More specifically a network is disclosed for processing data. The network comprises a register DMA controller adapted to support register access and at least one node adapted to the data. At least one link communicates with the node, and is adapted to transmit data and at least one network module communicates with at least the link, and is adapted to route data to at least the link.
    Type: Application
    Filed: November 11, 2013
    Publication date: March 20, 2014
    Applicant: Broadcom Corporation
    Inventors: Patrick Law, Darren Neuman, David Baer
  • Patent number: 8675006
    Abstract: A shared memory is provided accessible by a central processing unit and a graphics processing unit. A bus is provided via which the central processing unit, graphics processing unit and shared memory communicate. A first mechanism controls the graphics processing unit and the central processing unit routes control signals via the bus. An interface is provided between the central processing unit and the graphics processing unit, and an additional mechanism controls the graphics processing unit and the central processing unit provides control signals over the interface. This enables the GPU to continue to be used to handle large batches of graphics processing operations loosely coupled with the operations performed by the CPU, and it is also possible to employ the GPU to perform processing operations on behalf of the CPU in situations where those operations are tightly coupled with the operations performed by the CPU.
    Type: Grant
    Filed: August 11, 2009
    Date of Patent: March 18, 2014
    Assignee: ARM Limited
    Inventors: Simon Andrew Ford, Sean Tristram Ellis, Edward Charles Plowman
  • Publication number: 20140071140
    Abstract: A system and method for efficiently scheduling memory access requests. A semiconductor chip includes a memory controller for controlling accesses to a shared memory and a display controller for processing frame data. In response to detecting an idle state for the system and the supported one or more displays, the display controller aggregates memory requests for a given display pipeline of one or more display pipelines prior to attempting to send any memory requests from the given display pipeline to the memory controller. Arbitration may be performed while the given display pipeline sends the aggregated memory requests. In response to not receiving memory access requests from the functional blocks or the display controller, the memory controller may transition to a low-power mode.
    Type: Application
    Filed: September 11, 2012
    Publication date: March 13, 2014
    Inventors: Brijesh Tripathi, Peter F. Holland, Shing Horng Choo, Steven T. Peltier
  • Patent number: 8669991
    Abstract: One embodiment of the present invention sets forth a method macro expander (MME) coupled to a driver and the processing pipeline of a graphics processing unit. In operation, the MME receives, from the driver, a first packet of work indicating a macro stored in an instruction memory that is to be executed. The MME then executes the commands of the macro in the instruction memory to generate a second packet of work, and the second packet of work is then transmitted to the processing pipeline for further execution.
    Type: Grant
    Filed: October 13, 2010
    Date of Patent: March 11, 2014
    Assignee: Nvidia Corporation
    Inventors: Jerome Francis Duluk, Jr., Jesse David Hall, Patrick R. Brown, Gregory Scott Palmer, Eric S. Werness
  • Publication number: 20140063025
    Abstract: To provide optimal power and performance policy choices for imaging and analytic processing, In accordance with some embodiments, reusable, reconfigurable, dedicated function process elements may be allocated to execution sequences made up of sequentially executed process elements. Any given process element may be reconfigured in any given execution sequence to meet a sequence performance metric. A plurality of sequences may then run in parallel.
    Type: Application
    Filed: December 28, 2011
    Publication date: March 6, 2014
    Inventor: Scott A. Krig
  • Publication number: 20140063024
    Abstract: A method includes obtaining three-dimensional range data, using a computer graphics rendering pipeline to encode the three-dimensional range data into two-dimensional images, retrieving depth information for each sampled pixel in the two-dimensional images, and encoding the depth information into red, green and blue color channels of the two-dimensional images. The two-dimensional images may be compressed using two-dimensional techniques including dithering. The step of obtaining the three-dimensional range data may be performed using a three-dimensional range scanning device. The method may further include storing the two-dimensional images on a computer readable storage medium. The method may further include setting up the viewing angle for the three-dimensional range data. The viewing angle for the three-dimensional range data is a viewing angle of a camera used in obtaining the three-dimensional range data.
    Type: Application
    Filed: March 6, 2013
    Publication date: March 6, 2014
    Applicant: IOWA STATE UNIVERSITY RESEARCH FOUNDATION, INC.
    Inventors: Song Zhang, Nikolaus Karpinsky, Yajun Wang
  • Patent number: 8665280
    Abstract: A display controller may include a display update controller that may cause a color processing operation to be initiated in response to completion of an image data transmission, or a display update operation to be initiated in response to completion of the color processing operation. The display update operation may include updating display pixels of a display matrix of an electro-optic display device. A collision detector may determine whether a waveform for updating a display state of a particular display pixel has finished. The display update controller may cause the particular display pixel to be omitted from a display update operation if the waveform for updating the display state of the particular display pixel has not finished. A second display update operation may automatically be initiated when the waveform for updating the display state of the particular display pixel has finished.
    Type: Grant
    Filed: October 19, 2010
    Date of Patent: March 4, 2014
    Assignee: Seiko Epson Corporation
    Inventors: Jimmy Kwok Lap Lai, Tetsuo Kawamoto, Yun Shon Low
  • Publication number: 20140055465
    Abstract: A method and system for coordinated data execution in a computer system. The system includes a first graphics processor coupled to a first memory and a second graphics processor coupled to a second memory. A graphics bus is configured to couple the first graphics processor and the second graphics processor. The first graphics processor and the second graphics processor are configured for coordinated data execution via communication across the graphics bus.
    Type: Application
    Filed: February 5, 2013
    Publication date: February 27, 2014
    Applicant: NVIDIA CORPORATION
    Inventors: Dwight D. Diercks, Abraham B. De Waal
  • Publication number: 20140049539
    Abstract: An apparatus and method for ray tracing includes a traversal (TRV) unit using a tree acceleration structure (AS). The TRV unit may include a plurality of sub-pipeline units configured to perform different operations required for ray TRV using the tree AS and to operate in parallel.
    Type: Application
    Filed: August 2, 2013
    Publication date: February 20, 2014
    Applicants: Kongju National University Industry Academi, Samsung Electronics Co., Ltd.
    Inventors: Won Jong Lee, Young Sam Shin, Jae Don Lee, Jin Woo Kim, Hun Sang Park
  • Patent number: 8654133
    Abstract: Systems and methods are provided for processing data. The systems and methods include multiple processors that each couple to receive commands and data, where the commands and/or data correspond to frames of video that include multiple pixels. An interlink module is coupled to receive processed data corresponding to the frames from each of the processors. The interlink module divides a first frame into multiple frame portions by dividing pixels of the first frame using at least one balance point. The interlink module dynamically determines a position for the balance point that minimizes differences between the workload of the processors during processing of commands and/or data of one or more subsequent frames.
    Type: Grant
    Filed: February 6, 2013
    Date of Patent: February 18, 2014
    Assignee: ATI Technologies ULC
    Inventors: Jonathan L. Campbell, Maurice Ribble
  • Patent number: 8643674
    Abstract: Rendering graphics on a display of a device. In a portable or wireless device, a list of instructions needed to refresh or generate a frame is first created. The created instructions are then parsed or optimized to remove instructions that result in unnecessary processing instructions. The optimized list is then executed. During generation of a given frame, a view hierarchy is traversed to identify damaged portions of a display. The damaged portions are not copied to the frame. Also, information that has not changed is likewise not usually copied. Damage from the previous frame less damage from the current frame is copied to the appropriate buffer. The instructions are optimized to render only the portion of the frame that is necessary. Portions of the display that are not visible are not traversed in the view hierarchy and are not considered until visible on the display.
    Type: Grant
    Filed: July 16, 2013
    Date of Patent: February 4, 2014
    Assignee: Dell Products L.P.
    Inventors: Arthur Anthonie Van Hoff, Geoffrey W Chatterton
  • Publication number: 20140022263
    Abstract: The desire to use an Accelerated Processing Device (APD) for general computation has increased due to the APD's exemplary performance characteristics. However, current systems incur high overhead when dispatching work to the APD because a process cannot be efficiently identified or preempted. The occupying of the APD by a rogue process for arbitrary amounts of time can prevent the effective utilization of the available system capacity and can reduce the processing progress of the system. Embodiments described herein can overcome this deficiency by enabling the system software to pre-empt a process executing on the APD for any reason. The APD provides an interface for initiating such a pre-emption. This interface exposes an urgency of the request which determines whether the process being preempted is allowed a grace period to complete its issued work before being forced off the hardware.
    Type: Application
    Filed: July 23, 2012
    Publication date: January 23, 2014
    Inventors: Robert Scott Hartog, Ralph Clay Taylor, Michael Mantor, Kevin McGrath, Sebastien Nussbaum, Nuwan S. Jayasena, Rex Eldon McCrary, Mark Leather, Philip J. Rogers
  • Patent number: 8633935
    Abstract: A main processor collects the edge information and color information of the pixels of a rendering target image using a rendering command, and sends the collected edge information and color information of the pixels to a sub-processor of the succeeding stage. The sub-processor sends the edge information and color information of a left rectangular region to a sub-processor, and also renders a right rectangular region and, upon receiving a process wait signal from the sub-processor, sends the rendering result to the sub-processor. The sub-processor renders the left rectangular region and sends the rendering result to the outside, and also sends, to the outside, the rendering result of the right rectangular region acquired by sending a process wait signal to the sub-processor.
    Type: Grant
    Filed: May 16, 2011
    Date of Patent: January 21, 2014
    Assignee: Canon Kabushiki Kaisha
    Inventor: Masayuki Iguchi
  • Patent number: 8624906
    Abstract: A method and system for graphics instruction fetching. The method includes executing a plurality of threads in a multithreaded execution environment. A respective plurality of instructions are fetched to support the execution of the threads. During runtime, at least one instruction is prefetched for one of the threads to a prefetch buffer. The at least one instruction is accessed from the prefetch buffer if required by the one thread and discarded if not required by the one thread.
    Type: Grant
    Filed: September 29, 2004
    Date of Patent: January 7, 2014
    Assignee: Nvidia Corporation
    Inventor: Andrew D. Bowen
  • Patent number: 8619087
    Abstract: One embodiment of the present invention sets forth a technique for reducing the amount of memory required to store vertex data processed within a processing pipeline that includes a plurality of shading engines. The method includes determining a first active shading engine and a second active shading engine included within the processing pipeline, wherein the second active shading engine receives vertex data output by the first active shading engine. An output map is received and indicates one or more attributes that are included in the vertex data and output by the first active shading engine. An input map is received and indicates one or more attributes that are included in the vertex data and received by the second active shading engine from the first active shading engine.
    Type: Grant
    Filed: September 30, 2010
    Date of Patent: December 31, 2013
    Assignee: Nvidia Corporation
    Inventors: Jerome F. Duluk, Jr., Gernot Schaufler
  • Patent number: 8614709
    Abstract: A programmable effects system for graphical user interfaces is disclosed. One embodiment comprises receiving one or more effect elements to apply to an element in a graphical user interface for a device, ordering the effect elements in a pipeline of operations, and storing the pipeline of operations in an effect template. Then, after the graphics hardware capability for a device is determined, the effect template may be used to create a shader that includes supported effects to render an element in the graphical user interface.
    Type: Grant
    Filed: November 11, 2008
    Date of Patent: December 24, 2013
    Assignee: Microsoft Corporation
    Inventors: Robert Aldinger, Fabian Toader
  • Publication number: 20130335429
    Abstract: An analysis of the cost of processing tiles may be used to decide how to process the tiles. In one case two tiles may be merged. In another case a culling algorithm may be selected based on tile processing cost.
    Type: Application
    Filed: February 27, 2012
    Publication date: December 19, 2013
    Inventors: Rasmus Barringer, Tomas G. Akenine-Moller
  • Patent number: 8610731
    Abstract: A pluggable graphics system is described herein that leverages high-end graphical capabilities of various mobile devices while keeping overhead for handling the variations to a negligible level. The pluggable graphics system breaks a graphics pipeline into functional blocks and includes base templates for handling different device capabilities for each functional block. During execution, based on capabilities of the device, the system composes appropriate functional blocks together through just-in-time (JIT) compilation to reduce runtime overhead in performance-sensitive code paths. The functional blocks include code designed to perform well with a particular set of hardware capabilities. In addition, for hardware platforms with large registers, the system provides advanced in-place blending that avoids wasteful memory accesses to reduce blending time.
    Type: Grant
    Filed: April 30, 2009
    Date of Patent: December 17, 2013
    Assignee: Microsoft Corporation
    Inventor: Mukundan Bhoovaraghavan
  • Patent number: 8610729
    Abstract: A floating point rasterization and frame buffer in a computer system graphics program. The rasterization, fog, lighting, texturing, blending, and antialiasing processes operate on floating point values. In one embodiment, a 16-bit floating point format consisting of one sign bit, ten mantissa bits, and five exponent bits (s10e5), is used to optimize the range and precision afforded by the 16 available bits of information. In other embodiments, the floating point format can be defined in the manner preferred in order to achieve a desired range and precision of the data stored in the frame buffer. The final floating point values corresponding to pixel attributes are stored in a frame buffer and eventually read and drawn for display. The graphics program can operate directly on the data in the frame buffer without losing any of the desired range and precision of the data.
    Type: Grant
    Filed: June 12, 2012
    Date of Patent: December 17, 2013
    Assignee: Graphic Properties Holdings, Inc.
    Inventors: John M. Airey, Mark S. Peercy, Robert A. Drebin, John Montrym, David L. Dignam, Christopher J. Migdal, Danny D. Loh
  • Patent number: 8599207
    Abstract: An information processing apparatus includes a first graphics chip having a first drawing processing capacity and being capable of producing a first image signal; a second graphics chip having a second drawing processing capacity higher than the first drawing processing capacity and being capable of producing a second image signal; an output changeover section capable of selectively outputting one of the first or second image signals; an inputting section configured to input a user operation to select one of the first graphics chip or the second graphics chip; and a control section configured to control the output of the output changeover section in response to the inputted user operation.
    Type: Grant
    Filed: December 22, 2006
    Date of Patent: December 3, 2013
    Assignee: Sony Corporation
    Inventors: Shunichiro Iwase, Keisuke Koide, Tatsuya Tobe, Takeshi Masuda
  • Patent number: 8593467
    Abstract: A method of managing multiple contexts for a single mode display includes receiving a plurality of tasks from one or more applications and determining respective contexts for each task, each context having a range of memory addresses. The method also includes selecting one context for output to the single mode display and loading the selected context into a graphics processor for the display.
    Type: Grant
    Filed: October 10, 2012
    Date of Patent: November 26, 2013
    Assignee: Apple Inc.
    Inventors: Richard Warren Schreyer, Michael James Elliot Swift
  • Patent number: 8593468
    Abstract: A high-speed ring topology. In one embodiment, two base chip types are required: a “drawing” chip, LoopDraw, and an “interface” chip, LoopInterface. Each of these chips have a set of pins that supports an identical high speed point to point unidirectional input and output ring interconnect interface: the LoopLink. The LoopDraw chip uses additional pins to connect to several standard memories that form a high bandwidth local memory sub-system. The LoopInterface chip uses additional pins to support a high speed host computer host interface, at least one video output interface, and possibly also additional non-local interconnects to other LoopInterface chip(s).
    Type: Grant
    Filed: October 5, 2010
    Date of Patent: November 26, 2013
    Assignee: Alandro Consulting NY LLC
    Inventors: Michael F. Deering, Michael G. Lavelle
  • Patent number: 8587596
    Abstract: A multithreaded rendering software pipeline architecture dynamically reallocates regions of an image space to raster threads based upon performance data collected by the raster threads. The reallocation of the regions typically includes resizing the regions assigned to particular raster threads and/or reassigning regions to different raster threads to better balance the relative workloads of the raster threads.
    Type: Grant
    Filed: June 28, 2010
    Date of Patent: November 19, 2013
    Assignee: International Business Machines Corporation
    Inventors: Eric O. Mejdrich, Paul E. Schardt, Robert A. Shearer, Matthew R. Tubbs
  • Patent number: 8581917
    Abstract: A system, method, and computer program product are provided for remote rendering of computer graphics. The system includes a graphics application program resident at a remote server. The graphics application is invoked by a user or process located at a client. The invoked graphics application proceeds to issue graphics instructions. The graphics instructions are received by a remote rendering control system. Given that the client and server differ with respect to graphics context and image processing capability, the remote rendering control system modifies the graphics instructions in order to accommodate these differences. The modified graphics instructions are sent to graphics rendering resources, which produce one or more rendered images. Data representing the rendered images is written to one or more frame buffers. The remote rendering control system then reads this image data from the frame buffers. The image data is transmitted to the client for display or processing.
    Type: Grant
    Filed: March 25, 2013
    Date of Patent: November 12, 2013
    Assignee: Silicon Graphics International Corp.
    Inventor: Phillip C. Keslin
  • Patent number: 8581915
    Abstract: Systems and methods are disclosed for video processing modules. More specifically a network is disclosed for processing data. The network comprises a register DMA controller adapted to support register access and at least one node adapted to the data. At least one link communicates with the node, and is adapted to transmit data and at least one network module communicates with at least the link, and is adapted to route data to at least the link.
    Type: Grant
    Filed: August 7, 2012
    Date of Patent: November 12, 2013
    Assignee: Broadcom Corporation
    Inventors: Patrick Law, Darren Neuman, David Baer
  • Patent number: 8581913
    Abstract: A data processing apparatus in which pipeline processing is performed comprises a control unit that controls a data processing sequence, a first processing unit that begins first data processing by inputting data on the basis of a start signal, outputs data subjected to the first data processing, and outputs a completion signal to the control unit after completing the first data processing, and a second processing unit that begins second data processing by inputting the data subjected to the first data processing on the basis of a start signal, outputs data subjected to the second data processing, and outputs a completion signal to the control unit after completing the second data processing. The control unit outputs a following start signal to the first processing unit and the second processing unit upon reception of the completion signal of the first data processing and the second data processing respectively.
    Type: Grant
    Filed: January 29, 2010
    Date of Patent: November 12, 2013
    Assignee: Olympus Corporation
    Inventors: Keisuke Nakazono, Akira Ueno
  • Patent number: 8570331
    Abstract: A software layer is disposed between an application and a driver. In use, the software layer is adapted to receive an object from the application intended to be rendered by a first graphics processor. Such software layer, in turn, routes the object to a second graphics processor, based on a policy.
    Type: Grant
    Filed: August 22, 2007
    Date of Patent: October 29, 2013
    Assignee: NVIDIA Corporation
    Inventors: David Wyatt, Lieven P. Leroy, Franck R. Diard
  • Patent number: 8564600
    Abstract: A circuit arrangement, program product and method stream level of detail components between hardware threads in a multithreaded circuit arrangement to perform physics collision detection. Typically, a master hardware thread, e.g., a component loader hardware thread, is used to retrieve level of detail data for an object from a memory and stream the data to one or more slave hardware threads, e.g., collision detection hardware threads, to perform the actual collision detection. Because the slave hardware threads receive the level of detail data from the master thread, typically the slave hardware threads are not required to load the data from the memory, thereby reducing memory bandwidth requirements and accelerating performance.
    Type: Grant
    Filed: May 12, 2010
    Date of Patent: October 22, 2013
    Assignee: International Business Machines Corporation
    Inventors: Eric Oliver Mejdrich, Paul Emery Schardt, Robert Allen Shearer
  • Patent number: 8553109
    Abstract: Embodiments of the present application automatically utilize parallel image captures in an image processing pipeline. In one embodiment, image processing circuitry concurrently receives first image data to be processed and second image data to be processed, wherein the second image data is processed to aid in enhancement of the first image data.
    Type: Grant
    Filed: March 27, 2012
    Date of Patent: October 8, 2013
    Assignee: Broadcom Corporation
    Inventors: David Plowman, Naushir Patuck, Benjamin Sewell, Graham Veitch
  • Publication number: 20130257883
    Abstract: According to some embodiments, an image pipeline controller may determine an image stream having a plurality of image primitives to be executed. Each image primitive may be, for example, associated with an image algorithm and a set of primitive attributes. The image pipeline controller may then automatically deploy the set of image primitives to an image computation fabric based at least in part on primitive attributes.
    Type: Application
    Filed: December 28, 2011
    Publication date: October 3, 2013
    Inventors: Scott A. Krig, Stewart N. Taylor
  • Publication number: 20130249927
    Abstract: Provided herein is a method for implementing antialiasing including independently operating different portions of a graphics pipeline at different sampling rates in accordance with pixel color details.
    Type: Application
    Filed: March 20, 2012
    Publication date: September 26, 2013
    Applicant: Advanced Micro Devices, Inc.
    Inventor: Christopher Jude Brennan
  • Patent number: 8537168
    Abstract: A method and system for deferred coverage mask generation in a raster stage of a graphics processor. The method includes receiving a graphics primitive for rasterization in a raster stage of a graphics processor and performing a bounding box test on the graphics primitive to define a bounding rectangle for the graphics primitive. A combined coverage mask is then generated after the completion of the bounding box test. The combined coverage mask indicates a plurality of pixels that are covered by the graphics primitive. The combined coverage mask is divided into a plurality of sub-portions. The sub-portions are allocated to a plurality of raster components to determine sub-pixel coverage for the sub-portions.
    Type: Grant
    Filed: November 2, 2006
    Date of Patent: September 17, 2013
    Assignee: NVIDIA Corporation
    Inventors: Walter R. Steiner, Jeffrey R. Sewall
  • Patent number: 8537167
    Abstract: A method and system for using bundle decoders in a processing pipeline is disclosed. In one embodiment, to perform a context switch between a first process and a second process operating in a processing pipeline, the first state information that is associated with the first process is placed on a connection separate from the processing pipeline. A number of decoders are coupled to this connection. The decoders obtain the first state information from a number of pipeline units on the processing pipeline by monitoring the data stream going into these pipeline units. Also, to restore the first state information after having switched out the second state information that is associated with the second process, the first state information is placed on the connection for the decoders to retrieve.
    Type: Grant
    Filed: October 17, 2006
    Date of Patent: September 17, 2013
    Assignee: Nvidia Corporation
    Inventors: Robert C. Keller, Richard A. Silkebakken, Matthew J. P. Regan
  • Publication number: 20130229414
    Abstract: This disclosure describes techniques for reducing memory access bandwidth in a graphics processing system based on destination alpha values. The techniques may include retrieving a destination alpha value from a bin buffer, the destination alpha value being generated in response to processing a first pixel associated with a first primitive. The techniques may further include determining, based on the destination alpha value, whether to perform an action that causes one or more texture values for a second pixel to not be retrieved from a texture buffer. In some examples, the action may include discarding the second pixel from a pixel processing pipeline prior to the second pixel arriving at a texture mapping stage of the pixel processing pipeline. The second pixel may be associated with a second primitive different than the first primitive.
    Type: Application
    Filed: March 1, 2012
    Publication date: September 5, 2013
    Applicant: QUALCOMM INCORPORATED
    Inventor: Andrew Gruber
  • Patent number: 8527683
    Abstract: This system for processing digital data may include a set of slave processing units for the execution of elementary functions, an interconnection module, which is designed to communicate with a data transfer network and to transfer data between the processing units, on the one hand, and the data transfer network, on the other hand, and a controller controlling the interconnection module to control the data transfer.
    Type: Grant
    Filed: February 17, 2010
    Date of Patent: September 3, 2013
    Assignee: STMicroelectronics (Grenoble 2) SAS
    Inventors: Xavier Cauchy, Anthony Philippe, Isabelle Faugeras, Didier Siron
  • Patent number: 8525842
    Abstract: A semaphore system, method, and computer program product are provided for use in a graphics environment. In operation, a semaphore is operated upon utilizing a plurality of graphics processing modules for a variety of graphics processing-related purposes (e.g. for example, controlling access to graphics data by the graphics processing modules, etc.).
    Type: Grant
    Filed: June 16, 2006
    Date of Patent: September 3, 2013
    Assignee: NVIDIA Corporation
    Inventors: Jerome F. Duluk, Jr., Richard A. Silkebakken
  • Patent number: 8525843
    Abstract: A graphic system having a central processing unit; a system memory coupled to the central processing unit; a display unit provided with a corresponding screen; a graphic module coupled to and controlled by the central processing unit to render an image on the screen of the display unit, the graphic module including a fragment graphic module having a depth test buffer for storing a current depth value; a depth test stage coupled to the depth test buffer for comparing the current depth value with a depth coordinate associated with an incoming fragment and defining a resulting fragment; a test stage for testing the resulting fragment and defining a retained fragment; a buffer writing stage operatively associated with the test stage for receiving the retained fragment, the buffer writing stage coupled to the depth test buffer for updating the current depth value with a depth value of the retained fragment.
    Type: Grant
    Filed: April 30, 2012
    Date of Patent: September 3, 2013
    Assignee: STMicroelectronics S.r.l.
    Inventor: Mirko Falchetto