Patents Assigned to ATI Technologies ULC
  • Publication number: 20190056958
    Abstract: Shader resources may be specified for input to a shader using a hierarchical data structure which may be referred to as a descriptor set. The descriptor set may be bound to a bind point of the shader and may contain slots with pointers to memory containing shader resources. The shader may reference a particular slot of the descriptor set using an offset, and may change shader resources by referencing a different slot of the descriptor set or by binding or rebinding a new descriptor set. A graphics pipeline may be specified by creating a pipeline object which specifies a shader and a rendering context object, and linking the pipeline object. Part or all of the pipeline may be validated, cross-validated, or optimized during linking.
    Type: Application
    Filed: October 22, 2018
    Publication date: February 21, 2019
    Applicants: Advanced Micro Devices, Inc., ATI Technologies ULC
    Inventors: Guennadi Riguer, Brian K. Bennett
  • Patent number: 10209991
    Abstract: A system and method for reducing latencies of main memory data accesses are described. A non-blocking load (NBLD) instruction identifies an address of requested data and a subroutine. The subroutine includes instructions dependent on the requested data. A processing unit verifies that address translations are available for both the address and the subroutine. The processing unit continues processing instructions with no stalls caused by younger-in-program-order instructions waiting for the requested data. The non-blocking load unit performs a cache coherent data read request on behalf of the NBLD instruction and requests that the processing unit perform an asynchronous jump to the subroutine upon return of the requested data from lower-level memory.
    Type: Grant
    Filed: November 16, 2016
    Date of Patent: February 19, 2019
    Assignees: Advanced Micro Devices, Inc., ATI Technologies ULC
    Inventors: Meenakshi Sundaram Bhaskaran, Elliot H. Mednick, David A. Roberts, Anthony Asaro, Amin Farmahini-Farahani
  • Patent number: 10210845
    Abstract: Briefly, methods and apparatus provide image content to, and display image content on, displays with a variable refresh rate that reduce frame delays and avoid display image flickering problems. In one example, the methods and apparatus are operative to vary a display's refresh rate by varying a current frame's vertical blanking period by re-providing the current frame for display prior to providing a new frame for display. In this fashion, the displaying of a new frame may be advanced by assuring that a new frame can be provided for display as soon as it has been rendered and available for display. In addition, by re-providing the current frame for display prior to providing a new frame for display, new frames may be provided for display at rates within a safe rate range such that display image flickering issues are avoided or reduced.
    Type: Grant
    Filed: April 30, 2018
    Date of Patent: February 19, 2019
    Assignee: ATI Technologies ULC
    Inventors: David I. J. Glen, Syed A. Hussain
  • Patent number: 10205956
    Abstract: A texture compression method is described. The method comprises splitting an original texture having a plurality of pixels into original blocks of pixels. Then, for each of the original blocks of pixels, a partition is identified that has one or more disjoint subsets of pixels whose union is the original block of pixels. The original block of pixels is further subdivided into one or more subsets according to the identified partition. Finally, each subset is independently compressed to form a compressed texture block.
    Type: Grant
    Filed: August 15, 2016
    Date of Patent: February 12, 2019
    Assignee: ATI Technologies ULC
    Inventors: Konstantine Iourcha, Andrew S. C. Pomianowski
  • Patent number: 10198358
    Abstract: Apparatuses, computer readable mediums, and methods of processor unit testing using cache resident testing are disclosed. The method may include loading a test program in a cache on a chip comprising one or more processor units. The method may include the one or more processor units executing the test program to generate one or more results. The method may include redirecting a first memory reference to the cache, wherein the first memory reference is generated during the execution of the test program. The method may include determining whether the one or more generated results match one or more test results. The method may include redirecting a memory request to a memory location resident in the cache if the memory request includes a memory location not resident in the cache. The method may include redirecting a memory request to the cache if the memory request is not directed to the cache.
    Type: Grant
    Filed: April 2, 2014
    Date of Patent: February 5, 2019
    Assignees: ADVANCED MICRO DEVICES, INC., ATI TECHNOLOGIES ULC
    Inventors: Angel E. Socarras, Kostantinos Danny Christidis, Curtis Alan Gilgan, Alexander Fuad Ashkar
  • Patent number: 10198283
    Abstract: A request is sent from a new virtual function (VF) to a physical function for requesting the initialization of the new VF. The controlling physical function and the new VF establish a two-way communication channel that to start and end the VF's exclusive accesses to registers in a configuration space. The physical function uses a timing control to monitor that exclusive register access by the new VF is completed within a predetermined time period. The new VF is only granted a predetermined time period of exclusive access to complete its initialization process. If the exclusive access period is timed out, the controlling physical function can terminate the VF to prevent GPU stalls.
    Type: Grant
    Filed: November 10, 2016
    Date of Patent: February 5, 2019
    Assignees: ATI Technologies ULC, Advanced Micro Devices (Shanghai) Co., LTD.
    Inventors: Jeffrey G. Cheng, Yinan Jiang, Guangwen Yang, Kelly Donald Clark Zytaruk, LingFei Liu, XiaoWei Wang
  • Patent number: 10198219
    Abstract: Described herein is a method and apparatus for en route translation of data by a data translation logic (DTL) on a solid state graphics (SSG) device as the data moves from a first memory architecture on the SSG device to a second memory architecture associated with a graphics processing units (GPU) on the SSG device or from the first memory architecture on the SSG device to a host memory in a host system that is connected to the SSG device.
    Type: Grant
    Filed: May 30, 2017
    Date of Patent: February 5, 2019
    Assignee: ATI Technologies ULC
    Inventor: Gabor Sines
  • Publication number: 20190028725
    Abstract: A system and method for scalable video coding that includes base layer having lower resolution encoding, enhanced layer having higher resolution encoding and the data transferring between two layers. The system and method provides several methods to reduce bandwidth of inter-layer transfers while at the same time reducing memory requirements. Due to less memory access, the system clock frequency can be lowered so that system power consumption is lowered as well. The system avoids having prediction data from base layer to enhanced layer to be up-sampled for matching resolution in the enhanced layer as transferring up-sampled data can impose a big burden on memory bandwidth.
    Type: Application
    Filed: September 10, 2018
    Publication date: January 24, 2019
    Applicants: Advanced Micro Devices, Inc., ATI Technologies ULC
    Inventors: Lei Zhang, Ji Zhou, Zhen Chen, Min Yu
  • Patent number: 10185386
    Abstract: A method and apparatus controls power consumption of a computing unit by determining a discrete frame buffer memory usage condition, such as when there is little real 3D activity (or other condition). When the discrete frame buffer memory usage condition is favorable for power savings, the method and apparatus reduces power to at least one bank of discrete frame buffer memory during runtime of an associated discrete graphics processor. The associated discrete graphics processor uses a portion of a system memory's frame buffer memory instead of the at least one bank of discrete frame buffer memory during runtime of the discrete graphics processor. When a user runs more intense 3D programs, the apparatus and method dynamically enables the discrete frame buffer or portion thereof such as one or more banks and reverts from using the system memory back to using the discrete frame buffer memory.
    Type: Grant
    Filed: July 25, 2016
    Date of Patent: January 22, 2019
    Assignee: ATI Technologies ULC
    Inventor: Wayne Chuck Louie
  • Publication number: 20190018699
    Abstract: A technique for recovering from a hang in a virtualized accelerated processing device (“APD”) is provided. In the virtualization scheme, different virtual machines are assigned different “time-slices” in which to use the APD. When a time-slice expires, the APD stops operations for a current VM and starts operations for another VM. To stop operations on the APD, a virtualization scheduler sends a request to idle the APD. The APD responds by completing work and idling. If one or more portions of the APD do not complete this idling process before a timeout expires, then a hang occurs. In response to the hang, the virtualization scheduler informs the hypervisor that a hang has occurred. The hypervisor performs a function level reset on the APD and informs the VM that the hang has occurred. The VM responds by stopping command issue to the APD and re-initializing the APD for the function.
    Type: Application
    Filed: July 28, 2017
    Publication date: January 17, 2019
    Applicants: Advanced Micro Devices, Inc., ATI Technologies ULC
    Inventors: Anthony Asaro, Yinan Jiang, Andy Sung, Ahmed M. Abdelkhalek, Xiaowei Wang, Sidney D. Fortes
  • Patent number: 10181454
    Abstract: In a stack of chips which each include active circuit regions, a plurality of through-silicon via (TSV) structures are formed for thermally conducting heat from the multi-chip stack by patterning, etching and filling with thermally conductive material a plurality of TSV openings in the multi-chip stack, including a first larger TSV opening that extends through substantially the entirety of the multi-chip stack without penetrating any active circuit region, and a second smaller TSV opening that extends down to but not through an active circuit region.
    Type: Grant
    Filed: March 3, 2010
    Date of Patent: January 15, 2019
    Assignee: ATI Technologies ULC
    Inventor: Changyok Park
  • Patent number: 10176548
    Abstract: A processor includes a scheduler that governs which of a plurality of pending graphics contexts is selected for execution at a graphics pipeline of the processor. The processor also includes a plurality of flip queues storing data ready to be rendered at a display device. The executing graphics context can issue a flip request to change data at stored at one of the flip queues. In response to determining that the flip request targets a flip queue that is being used for rendering at the display device, the scheduler executes a context switch to schedule a different graphics context for execution at the graphics pipeline.
    Type: Grant
    Filed: December 18, 2015
    Date of Patent: January 8, 2019
    Assignee: ATI TECHNOLOGIES ULC
    Inventor: Gongxian Jeffrey Cheng
  • Patent number: 10176122
    Abstract: A processor employs a hardware encryption module in the memory access path between an input/out device and memory to cryptographically isolate secure information. In some embodiments, the encryption module is located at a memory controller of the processor, and each memory access request provided to the memory controller includes VM tag value identifying the source of the memory access request. The VM tag is determined based on a requestor ID identifying the source of the memory access request. The encryption module performs encryption (for write accesses) or decryption (for read accesses) of the data associated with the memory access based on an encryption key associated with the VM tag.
    Type: Grant
    Filed: October 19, 2016
    Date of Patent: January 8, 2019
    Assignees: Advanced Micro Devices, Inc., ATI Technologies ULC
    Inventors: David Kaplan, Maggie Chan, Philip Ng
  • Publication number: 20190004842
    Abstract: A technique for varying firmware for different virtual functions in a virtualized device is provided. The virtualized device includes a hardware accelerator and a microcontroller that executes firmware. The virtualized device is virtualized in that the virtualized device performs work for different virtual functions (with different virtual functions associated with different virtual machines), each function getting a “time-slice” during which work is performed for that function. To vary the firmware, each time the virtualized device switches from performing work for a current virtual function to work for a subsequent virtual function, one or more microcontrollers of the virtualized device examines memory storing addresses for firmware for the subsequent virtual function and begins executing the firmware for that subsequent virtual function. The addresses for the firmware are provided by a corresponding virtual machine at configuration time.
    Type: Application
    Filed: June 30, 2017
    Publication date: January 3, 2019
    Applicant: ATI Technologies ULC
    Inventors: Yinan Jiang, Ahmed M. Abdelkhalek, Guopei Qiao, Andy Sung, Haibo Liu, Dezhi Ming, Zhidong Xu
  • Publication number: 20190004840
    Abstract: A register protection mechanism for a virtualized accelerated processing device (“APD”) is disclosed. The mechanism protects registers of the accelerated processing device designated as physical-function-or-virtual-function registers (“PF-or-VF* registers”), which are single architectural instance registers that are shared among different functions that share the APD in a virtualization scheme whereby each function can maintain a different value in these registers. The protection mechanism for these registers comprises comparing the function associated with the memory address specified by a particular register access request to the “currently active” function for the APD and disallowing the register access request if a match does not occur.
    Type: Application
    Filed: June 29, 2017
    Publication date: January 3, 2019
    Applicant: ATI Technologies ULC
    Inventors: Anthony Asaro, Yinan Jiang, Kelly Donald Clark Zytaruk
  • Publication number: 20190004839
    Abstract: A technique for efficient time-division of resources in a virtualized accelerated processing device (“APD”) is provided. In a virtualization scheme implemented on the APD, different virtual machines are assigned different “time-slices” in which to use the APD. When a time-slice expires, the APD performs a virtualization context switch by stopping operations for a current virtual machine (“VM”) and starting operations for another VM. Typically, each VM is assigned a fixed length of time, after which a virtualization context switch is performed. This fixed length of time can lead to inefficiencies. Therefore, in some situations, in response to a VM having no more work to perform on the APD and the APD being idle, a virtualization context switch is performed “early.” This virtualization context switch is “early” in the sense that the virtualization context switch is performed before the fixed length of time for the time-slice expires.
    Type: Application
    Filed: June 29, 2017
    Publication date: January 3, 2019
    Applicants: Advanced Micro Devices, Inc., ATI Technologies ULC
    Inventors: Gongxian Jeffrey Cheng, Louis Regniere, Anthony Asaro
  • Publication number: 20190004588
    Abstract: A non-transitory computer-readable medium includes instructions that, when provided to and executed by a processor, cause the processor to receive a first placement of domain instances of an integrated circuit layout provided as a tile having a group of multiple power domain modules. The first placement of domain instances is scanned to identify instances associated with a preselected power specification. A heuristic is applied to the first placement of domain instances to form an observation area. the heuristic demarcates select instances to form the observation area. Each instance associated with the preselected power specification is identified in the observation area. A contiguous region of instances is formed from the select instances in the observation area. The first placement of domain instances in the integrated circuit layout is modified to provided revised placement for instances associated with the contiguous region of instances.
    Type: Application
    Filed: June 30, 2017
    Publication date: January 3, 2019
    Applicant: ATI Technologies ULC
    Inventors: Elsie Lo, Erhan Ergin, Dipanjan Sengupta, Rajit Seahra, Sowmya Thikkavarapu, Kameswara Goutham Vankayalapati
  • Patent number: 10169906
    Abstract: A system, method and a computer program product are provided for hybrid rendering with deferred primitive batch binning. A primitive batch is generated from a sequence of primitives. Initial bin intercepts are identified for primitives in the primitive batch. A bin for processing is identified. The bin corresponds to a region of a screen space. Pixels of the primitives intercepting the identified bin are processed. Next bin intercepts are identified while the primitives intercepting the identified bin are processed.
    Type: Grant
    Filed: March 29, 2013
    Date of Patent: January 1, 2019
    Assignees: Advanced Micro Devices, Inc., ATI Technologies ULC
    Inventors: Michael Mantor, Laurent Lefebvre, Mark Fowler, Timothy Kelley, Mikko Alho, Mika Tuomi, Kiia Kallio, Patrick Klas Rudolf Buss, Jari Antero Komppa, Kaj Tuomi
  • Patent number: 10169843
    Abstract: A processing system selectively renders pixels or blocks of pixels of an image and leaves some pixels or blocks of pixels unrendered to conserve resources. The processing system generates a motion vector field to identify regions of an image having moving areas. The processing system uses a rendering processor to identify as regions of interest those units having little to no motion, based on the motion vector field, and a large amount of edge activity, and to minimize the probability of unrendered pixels, or “holes”, in these regions. To avoid noticeable patterns, the rendering processor applies a probability map to determine the possible locations of holes, assigning to each unit a probability indicating the percentage of pixels within the unit that will be holes, and assigning a lower probability to units identified as regions of interest.
    Type: Grant
    Filed: November 20, 2017
    Date of Patent: January 1, 2019
    Assignees: Advanced Micro Devices, Inc., ATI Technologies ULC
    Inventors: Ihab Amer, Guennadi Riguer, Ruijin Wu, Skyler J. Saleh, Boris Ivanovic, Gabor Sines
  • Patent number: 10162765
    Abstract: A device may receive a direct memory access request that identifies a virtual address. The device may determine whether the virtual address is within a particular range of virtual addresses. The device may selectively perform a first action or a second action based on determining whether the virtual address is within the particular range of virtual addresses. The first action may include causing a first address translation algorithm to be performed to translate the virtual address to a physical address associated with a memory device when the virtual address is not within the particular range of virtual addresses. The second action may include causing a second address translation algorithm to be performed to translate the virtual address to the physical address when the virtual address is within the particular range of virtual addresses. The second address translation algorithm may be different from the first address translation algorithm.
    Type: Grant
    Filed: April 19, 2017
    Date of Patent: December 25, 2018
    Assignees: Advanced Micro Devices, Inc., ATI Technologies ULC
    Inventors: Andrew G. Kegel, Anthony Asaro