Frame pacing for improved experiences in 3D applications
US-12057090-B2 · Aug 6, 2024 · US
US10269090B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10269090-B2 |
| Application number | US-201313969398-A |
| Country | US |
| Kind code | B2 |
| Filing date | Aug 16, 2013 |
| Priority date | Aug 16, 2013 |
| Publication date | Apr 23, 2019 |
| Grant date | Apr 23, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
One embodiment of the present invention includes techniques for processing a multi-resolution hierarchy, where an application configures a ROP unit to render all the levels included in the multi-resolution hierarchy to a single composite render target. The ROP unit renders memory pages to the composite render target in pitch order. In contrast, the texture unit accesses the composite render target with memory pages in pitch order for each level of the hierarchy. The application configures the MMU to ensure that the composite render target is correctly interpreted by the texture unit. Notably, the MMU translates ROP unit virtual addresses and texture unit virtual addresses using different mapping strategies to the same physical address space. One advantage of the disclosed embodiments is that rendering to the multi-resolution hierarchy does not require the CPU to execute the state parameter changes that are associated with rendering the different hierarchical levels using prior-art techniques.
Opening claim text (preview).
The invention claimed is: 1. A computer-implemented method for processing a multi-resolution hierarchy, the method comprising: associating a first composite virtual address with a first fragment that is included in a first hierarchical level of the multi-resolution hierarchy; mapping the first composite virtual address to a first physical address in a memory resource; rendering the first fragment to a composite render target based on the first composite virtual address, wherein the composite render target includes all hierarchical levels of the multi-resolution hierarchy; and mapping a first texture virtual address associated with the first hierarchical level to the first physical address. 2. The method of claim 1 , further comprising: computing the first texture virtual address based on the location of the first fragment in the first hierarchical level; and accessing the memory resource based on the first texture virtual address. 3. The method of claim 2 , further comprising: associating a second composite virtual address with a second fragment that is included in a second hierarchical level of the multi-resolution hierarchy; mapping the second composite virtual address to a second physical address in the memory resource; rendering the second fragment to the composite render target based on the second composite virtual address; and mapping a second texture virtual address associated with the second hierarchical level to the second physical address. 4. The method of claim 3 , wherein the first texture virtual address and the second texture virtual address are contiguous in a texture virtual address space. 5. The method of claim 4 , wherein the first composite virtual address and the second composite virtual address are non-contiguous in a composite virtual address space. 6. The method of claim 1 , wherein the size of the first hierarchical level is different than the size of the second hierarchical level. 7. The method of claim 1 , wherein rendering the first fragment comprises computing at least one of a color value and a depth value. 8. The method of claim 1 , wherein the first hierarchical level comprises a level of a mipmap. 9. The method of claim 1 , wherein the first hierarchical level comprises a level of a shadowmap. 10. The computer-implemented method of claim 1 , further comprising: generating a different viewport within the composite render target for each level of the multi-resolution hierarchy; and setting the resolution of each different viewport to match a corresponding level of the multi-resolution hierarchy. 11. A computer-readable storage medium including instructions that, when executed by a processing unit, cause the processing unit to process a multi-resolution hierarchy by performing the steps of: associating a first composite virtual address with a first fragment that is included in a first hierarchical level of the multi-resolution hierarchy; mapping the first composite virtual address to a first physical address in a memory resource; rendering the first fragment to a composite render target based on the first composite virtual address, wherein the composite render target includes all hierarchical levels of the multi-resolution hierarchy; and mapping a first texture virtual address associated with the first hierarchical level to the first physical address. 12. The computer-readable storage medium of claim 11 , further comprising: computing the first texture virtual address based on the location of the first fragment in the first hierarchical level; and accessing the memory resource based on the first texture virtual address. 13. The computer-readable storage medium of claim 12 , further comprising: associating a second composite virtual address with a second fragment that is included in a second hierarchical level of the multi-resolution hierarchy; mapping the second composite virtual address to a second physical address in the memory resource; rendering the second fragment to the composite render target based on the second composite virtual address; and mapping a second texture virtual address associated with the second hierarchical level to the second physical address. 14. The computer-readable storage medium of claim 13 , wherein the first texture virtual address and the second texture virtual address are contiguous in a texture virtual address space. 15. The computer-readable storage medium of claim 14 , wherein the first composite virtual address and the second composite virtual address are non-contiguous in a composite virtual address space. 16. The computer-readable storage medium of claim 11 , wherein the size of the first hierarchical level is different than the size of the second hierarchical level. 17. The computer-readable storage medium of claim 11 , wherein rendering the first fragment comprises computing at least one of a color value and a depth value. 18. The computer-readable storage medium of claim 11 , wherein the first hierarchical level comprises a level of a mipmap. 19. The computer-readable storage medium of claim 11 , wherein the first hierarchical level comprises a level of a shadowmap. 20. A system configured to process a multi-resolution hierarchy, the system comprising: a memory management unit configured to: associate a first composite virtual address with a first fragment that is included in a first hierarchical level of the multi-resolution hierarchy, map the first composite virtual address to a first physical address in a memory resource, and map a first texture virtual address associated with the first hierarchical level to the first physical address; and a raster operations unit configured to: render the first fragment to a composite render target based on the first composite virtual address, wherein the composite render target includes all hierarchical levels of the multi-resolution hierarchy. 21. The system of claim 20 , further comprising: a texture unit configured to: compute the first texture virtual address based on the location of the first fragment in the first hierarchical level, and access the memory resource based on the first texture virtual address.
Related publications grouped by family.
Answers are generated from the same data shown on this page.