Apparatus and method for efficient graphics processing including ray tracing

US12002145B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12002145-B2
Application numberUS-202017133573-A
CountryUS
Kind codeB2
Filing dateDec 23, 2020
Priority dateAug 17, 2020
Publication dateJun 4, 2024
Grant dateJun 4, 2024

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Apparatus and method for efficient graphics processing including ray tracing. For example, one embodiment of a graphics processor comprises: execution hardware logic to execute graphics commands and render images; an interface to couple functional units of the execution hardware logic to a tiled resource; and a tiled resource manager to manage access by the functional units to the tiled resource, a functional unit of the execution hardware logic to generate a request with a hash identifier (ID) to request access to a portion of the tiled resource, wherein the tiled resource manager is to determine whether a portion of the tiled resource identified by the hash ID exists, and if not, to allocate a new portion of the tiled resource and associate the new portion with the hash ID.

First claim

Opening claim text (preview).

What is claimed is: 1. A graphics processor comprising: execution hardware logic to execute graphics commands and render images; an interface to couple functional units of the execution hardware logic to a tiled resource; and a tiled resource manager to manage access by the functional units to the tiled resource, a functional unit of the execution hardware logic to generate a request with a hash identifier (ID) to request access to a portion of the tiled resource, wherein the tiled resource manager is to determine whether a portion of the tiled resource identified by the hash ID exists; if not, to allocate a new portion of the tiled resource and associate the new portion with the hash ID, and upon no new portion of the tiled resources being found, to evict an existing portion of the tiled resource and to reallocate the existing portion as the new portion associated with the hash ID. 2. The graphics processor of claim 1 wherein the tiled resource manager is to implement a least recently used (LRU) eviction policy to evict the existing portion of the tiled resource used least recently. 3. The graphics processor of claim 1 wherein if a portion of the tiled resource identified by the hash ID exists, then the tiled resource manager is to provide access to the portion of the tiled resource. 4. The graphics processor of claim 3 wherein the portion of the tiled resource comprises a fixed-size resource tile. 5. The graphics processor of claim 4 wherein the tiled resource comprises a memory buffer subdivided into tiles. 6. The graphics processor of claim 5 further comprising: ray traversal hardware logic coupled to the memory buffer, the ray traversal hardware logic to trace a ray through an acceleration data structure, the ray having an associated instance identifier (ID), wherein the hash ID is generated based in the instance ID. 7. The graphics processor of claim 6 wherein the hash ID is generated based on a combination of the instance ID and a frame counter. 8. The graphics processor of claim 1 wherein if a new portion of the tiled resource is allocated, then the execution hardware logic is to execute a user compute shader, the user compute shader to store triangles in the portion of the tiled resource. 9. The graphics processor of claim 3 wherein if the portion of the tiled resource is not new, then the execution hardware logic is to execute an intersection shader to perform ray/triangle intersections, the intersection shader to be provided a pointer to the portion of the tiled resource. 10. A method comprising: executing graphics commands and rendering images by execution hardware logic, the execution hardware logic coupled to a tiled resource; generating a request with a hash identifier (ID) to request access to a portion of the tiled resource, the request generated by a functional unit of the execution hardware logic; determining whether a portion of the tiled resource identified by the hash ID exists; if a portion of the tiled resource identified by the hash ID does not exist and a new portion of the tiled resource is found, allocating the new portion of the tiled resource and associating the new portion with the hash ID; and if a portion of the tiled resource identified by the hash ID does not exist and the new portion of the tiled resource is not found, evicting an existing portion of the tiled resource, and reallocating the existing portion as the new portion associated with the hash ID. 11. The method of claim 10 wherein evicting comprises implementing a least recently used (LRU) eviction policy to remove an existing portion of the tiled resource used least recently. 12. The method of claim 10 wherein if a portion of the tiled resource identified by the hash ID exists, then providing access to the portion of the tiled resource. 13. The method of claim 12 wherein the portion of the tiled resource comprises a fixed-size resource tile. 14. The method of claim 13 wherein the tiled resource comprises a memory buffer subdivided into tiles. 15. The method of claim 14 further comprising: tracing a ray through an acceleration data structure by ray traversal hardware logic coupled to the memory buffer, the ray having an instance identifier (ID) associated therewith, wherein the hash ID is generated based in the instance ID. 16. The method of claim 15 wherein the hash ID is generated based on a combination of the instance ID and a frame counter. 17. The method of claim 10 wherein if a new portion of the tiled resource is allocated, then executing a user compute shader, the user compute shader to store triangles in the portion of the tiled resource. 18. The method of claim 12 wherein if the portion of the tiled resource is not new, then executing an intersection shader to perform ray/triangle intersections, the intersection shader to be provided a pointer to the portion of the tiled resource. 19. A non-transitory machine-readable medium having program code stored thereon which, when executed by a machine, causes the machine to perform: executing graphics commands and rendering images by execution hardware logic, the execution hardware logic coupled to a tiled resource; generating a request with a hash identifier (ID) to request access to a portion of the tiled resource, the request generated by a functional unit of the execution hardware logic; determining whether a portion of the tiled resource identified by the hash ID exists; if a portion of the tiled resource identified by the hash ID does not exist and a new portion of the tiled resource is found, allocating the new portion of the tiled resource and associating the new portion with the hash ID; and if a portion of the tiled resource identified by the hash ID does not exist and the new portion of the tiled resource is not found, evicting an existing portion of the tiled resource, and reallocating the existing portion as the new portion associated with the hash ID. 20. The non-transitory machine-readable medium of claim 19 wherein evicting comprises implementing a least recently used (LRU) eviction policy to remove an existing portion of the tiled resource used least recently. 21. The non-transitory machine-readable medium of claim 19 wherein if a portion of the tiled resource identified by the hash ID exists, then the machine is to provide access to the portion of the tiled resource. 22. The non-transitory machine-readable medium of claim 21 wherein the portion of the tiled resource comprises a fixed-size resource tile.

Assignees

Inventors

Classifications

  • G06T15/06Primary

    Ray-tracing · CPC title

  • Processor architectures; Processor configuration, e.g. pipelining · CPC title

  • Memory management · CPC title

  • General purpose rendering architectures · CPC title

  • Collision detection, intersection · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12002145B2 cover?
Apparatus and method for efficient graphics processing including ray tracing. For example, one embodiment of a graphics processor comprises: execution hardware logic to execute graphics commands and render images; an interface to couple functional units of the execution hardware logic to a tiled resource; and a tiled resource manager to manage access by the functional units to the tiled resourc…
Who is the assignee on this patent?
Intel Corpoation, Intel Corp
What technology area does this patent fall under?
Primary CPC classification G06T15/06. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 04 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).