IP Library Granted Patent US 12,243,155
Granted Patent B2
US 12,243,155 · App. 17/357,423 · Granted Mar 4, 2025

Compression and interleaving of spatially proximate data

Inventors: Prasoonkumar Surti (Folsom, CA); Ronald Silvas (Sacramento, CA); Karol A. Szerszen (Hillsboro, OR)
Assignee: Intel Corporation
G06T15/503G06T1/20G06T1/60G06T15/005G06T15/04G06T15/80
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,243,155
App. No.
17/357,423
Granted
Mar 4, 2025
Kind
B2
Abstract

Methods, systems and apparatuses may provide for technology that identifies first graphics data that is associated with spatially proximate positions. The technology identifies second graphics data that is associated with spatially proximate positions, and interleaves the first and the second graphics data across a plurality of storage tiles.

Claims (68)

1. A computing system comprising:

a display to present an image; and

a graphics processor coupled to the display, wherein the graphics processor includes logic coupled to one or more substrates, the logic to:

identify first graphics data that is to be associated with spatially proximate positions;

identify second graphics data that is to be associated with spatially proximate positions; and

interleave the first and the second graphics data across a plurality of storage tiles by a storage of a first part of the first graphics data and a second part of the second graphics data into a first memory bank, and a storage of a third part of the first graphics data and a fourth part of the second graphics data into a second memory bank, wherein the first, second, third and fourth parts include textures or the first, second, third and fourth parts include anti-aliasing samples.

2. The computing system of claim 1 , wherein:

the anti-aliasing samples include first and second anti-aliasing samples;

the first graphics data includes the first anti-aliasing samples, wherein the first anti-aliasing samples are associated with a first pixel block, wherein pixels of the first pixel block are to share a shading result based on the first anti-aliasing samples; and

the second graphics data includes the second anti-aliasing samples, wherein the second anti-aliasing samples are associated with a second pixel block, wherein pixels of the second pixel block are to share a shading result based on the second anti-aliasing samples.

3. The computing system of claim 2 , wherein the logic coupled to the one or more substrates is to:

store a first sample of the first anti-aliasing samples and a first sample of the second anti-aliasing samples in a first storage tile of the plurality of storage tiles, wherein the first storage tile is the first memory bank.

4. The computing system of claim 3 , wherein the logic coupled to the one or more substrates is to:

store a second sample of the first anti-aliasing samples and a second sample of the second anti-aliasing samples in a second storage tile of the plurality of storage tiles, wherein the second storage tile is the second memory bank.

5. The computing system of claim 1 , wherein:

the textures include a first plurality of textures associated with a first Z slice and a second plurality of textures associated with a second Z slice;

the first graphics data is associated with the first plurality of textures; and

the second graphics data is associated with the second plurality of textures.

6. The computing system of claim 5 , wherein the logic coupled to the one or more substrates is to:

store a first texture of the first plurality of textures and a first texture of the second plurality of textures in a first storage tile of the plurality of storage tiles, wherein the first storage tile is the first memory bank.

7. The computing system of claim 6 , wherein the logic coupled to the one or more substrates is to:

store a second texture of the first plurality of textures and a second texture of the second plurality of textures in a second storage tile of the plurality of storage tiles, wherein the second storage tile is the second memory bank.

8. The computing system of claim 1 , wherein the plurality of storage tiles is to include a plurality of pages of a dynamic random-access memory.

9. A semiconductor apparatus comprising:

one or more substrates; and

logic coupled to the one or more substrates, wherein the logic is implemented at least partly in one or more of configurable or fixed-functionality hardware logic, the logic coupled to the one or more substrates to:

identify first graphics data that is to be associated with spatially proximate positions;

identify second graphics data that is to be associated with spatially proximate positions; and

interleave the first and the second graphics data across a plurality of storage tiles by a storage of a first part of the first graphics data and a second part of the second graphics data into a first memory bank, and a storage of a third part of the first graphics data and a fourth part of the second graphics data into a second memory bank, wherein the first, second, third and fourth parts include textures or the first, second, third and fourth parts include anti-aliasing samples.

10. The semiconductor apparatus of claim 9 , wherein:

the anti-aliasing samples include first and second anti-aliasing samples;

the first graphics data includes the first anti-aliasing samples, wherein the first anti-aliasing samples are associated with a first pixel block, wherein pixels of the first pixel block are to share a shading result based on the first anti-aliasing samples; and

the second graphics data includes the second anti-aliasing samples, wherein the second anti-aliasing samples are associated with a second pixel block, wherein pixels of the second pixel block are to share a shading result based on the second anti-aliasing samples.

11. The semiconductor apparatus of claim 10 , wherein the logic coupled to the one or more substrates is to:

store a first sample of the first anti-aliasing samples and a first sample of the second anti-aliasing samples in a first storage tile of the plurality of storage tiles, wherein the first storage tile is the first memory bank.

12. The semiconductor apparatus of claim 11 , wherein the logic coupled to the one or more substrates is to:

store a second sample of the first anti-aliasing samples and a second sample of the second anti-aliasing samples in a second storage tile of the plurality of storage tiles, wherein the second storage tile is the second memory bank.

13. The semiconductor apparatus of claim 9 , wherein:

the textures include a first plurality of textures associated with a first Z slice and a second plurality of textures associated with a second Z slice;

the first graphics data is associated with the first plurality of textures; and

the second graphics data is associated with the second plurality of textures.

14. The semiconductor apparatus of claim 13 , wherein the logic coupled to the one or more substrates is to:

store a first texture of the first plurality of textures and a first texture of the second plurality of textures in a first storage tile of the plurality of storage tiles, wherein the first storage tile is the first memory bank.

15. The semiconductor apparatus of claim 14 , wherein the logic coupled to the one or more substrates is to:

store a second texture of the first plurality of textures and a second texture of the second plurality of textures in a second storage tile of the plurality of storage tiles, wherein the second storage tile is the second memory bank.

16. The semiconductor apparatus of claim 9 , wherein the plurality of storage tiles is to includes a plurality of pages of a dynamic random-access memory.

17. The semiconductor apparatus of claim 9 , wherein the logic coupled to the one or more substrates includes transistor channel regions that are positioned within the one or more substrates.

18. A method comprising:

identifying first graphics data that is associated with spatially proximate positions;

identifying second graphics data that is associated with spatially proximate positions; and

interleaving the first and the second graphics data across a plurality of storage tiles by storing a first part of the first graphics data and a second part of the second graphics data into a first memory bank, and storing a third part of the first graphics data and a fourth part of the second graphics data into a second memory bank, wherein the first, second, third and fourth parts include textures or the first, second, third and fourth parts include anti-aliasing samples.

19. The method of claim 18 , wherein:

the anti-aliasing samples include first and second anti-aliasing samples;

the first graphics data includes the first anti-aliasing samples, wherein the first anti-aliasing samples are associated with a first pixel block, wherein pixels of the first pixel block share a shading result based on the first anti-aliasing samples; and

the second graphics data includes the second anti-aliasing samples, wherein the second anti-aliasing samples are associated with a second pixel block, wherein pixels of the second pixel block share a shading result based on the second anti-aliasing samples.

20. The method of claim 19 , further comprising:

storing a first sample of the first anti-aliasing samples and a first sample of the second anti-aliasing samples in a first storage tile of the plurality of storage tiles, wherein the first storage tile is the first memory bank.

21. The method of claim 20 , further comprising:

storing a second sample of the first anti-aliasing samples and a second sample of the second anti-aliasing samples in a second storage tile of the plurality of storage tiles, wherein the second storage tile is the second memory bank.

22. The method of claim 18 , wherein:

the textures include a first plurality of textures associated with a first Z slice and a second plurality of textures associated with a second Z slice;

the first graphics data is associated with the first plurality of textures; and

the second graphics data is associated with the second plurality of textures.

23. The method of claim 22 , further comprising:

storing a first texture of the first plurality of textures and a first texture of the second plurality of textures in a first storage tile of the plurality of storage tiles, wherein the first storage tile is the first memory bank.

24. The method of claim 23 , further comprising:

storing a second texture of the first plurality of textures and a second texture of the second plurality of textures in a second storage tile of the plurality of storage tiles, wherein the second storage tile is the second memory bank.

25. The method of claim 18 , wherein the plurality of storage tiles includes a plurality of pages of a dynamic random-access memory.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2022
From: SURTI, PRASOONKUMAR; SILVAS, RONALD; SZERSZEN, KAROL A.
To: INTEL CORPORATION
Reel/Frame 059754/0954 →
Continuity (1)
Related Publication 20220414977A1 · Dec 29, 2022
References Cited (53)
US 8294912B2 · Matsui · 2012 [cited by examiner]
US 9129443B2 · Gruen et al. · 2015 [cited by applicant]
US 9165399B2 · Uralsky et al. · 2015 [cited by applicant]
US 9177413B2 · Tatarinov et al. · 2015 [cited by applicant]
US 9241146B2 · Neill · 2016 [cited by applicant]
US 9262797B2 · Minkin et al. · 2016 [cited by applicant]
US 9342857B2 · Kubisch et al. · 2016 [cited by applicant]
US 9355483B2 · Lum et al. · 2016 [cited by applicant]
US 9437040B2 · Lum et al. · 2016 [cited by applicant]
US 10649524B2 · Wald · 2020 [cited by examiner]
US 10650566B2 · Nevraev · 2020 [cited by examiner]
US 11145105B2 · Surti · 2021 [cited by examiner]
US 11269409B2 · Wald · 2022 [cited by examiner]
US 20090279131A1 · Matsui et al. · 2009 [cited by applicant]
US 20130113803A1 · Bakedash et al. · 2013 [cited by applicant]
US 20140118351A1 · Uralsky et al. · 2014 [cited by applicant]
US 20140125650A1 · Neill · 2014 [cited by applicant]
US 20140168035A1 · Luebke et al. · 2014 [cited by applicant]
US 20140168242A1 · Kubisch et al. · 2014 [cited by applicant]
US 20140168783A1 · Luebke et al. · 2014 [cited by applicant]
US 20140218390A1 · Rouet et al. · 2014 [cited by applicant]
US 20140253555A1 · Lum et al. · 2014 [cited by applicant]
US 20140267238A1 · Lum et al. · 2014 [cited by applicant]
US 20140267315A1 · Minkin et al. · 2014 [cited by applicant]
US 20140292771A1 · Kubisch et al. · 2014 [cited by applicant]
US 20140347359A1 · Gruen et al. · 2014 [cited by applicant]
US 20140354675A1 · Lottes · 2014 [cited by applicant]
US 20150002508A1 · Tatarinov et al. · 2015 [cited by applicant]
US 20150009306A1 · Moore · 2015 [cited by applicant]
US 20150022537A1 · Lum et al. · 2015 [cited by applicant]
US 20150049104A1 · Lum et al. · 2015 [cited by applicant]
US 20150130915A1 · More et al. · 2015 [cited by applicant]
US 20150138065A1 · Alfierri · 2015 [cited by applicant]
US 20150138228A1 · Lum et al. · 2015 [cited by applicant]
US 20150170408A1 · He et al. · 2015 [cited by applicant]
US 20150170409A1 · He et al. · 2015 [cited by applicant]
US 20150187129A1 · Sloan · 2015 [cited by applicant]
US 20150194128A1 · Hicok · 2015 [cited by applicant]
US 20150264299A1 · Leech et al. · 2015 [cited by applicant]
US 20150317827A1 · Crassin et al. · 2015 [cited by applicant]
US 20160048999A1 · Patney et al. · 2016 [cited by applicant]
US 20160049000A1 · Patney et al. · 2016 [cited by applicant]
US 20160071242A1 · Uralsky et al. · 2016 [cited by applicant]
US 20160071246A1 · Uralsky et al. · 2016 [cited by applicant]
US 20180232936A1 · Nevraev et al. · 2018 [cited by applicant]
US 20180292897A1 · Wald et al. · 2018 [cited by applicant]
US 20200294301A1 · Surti et al. · 2020 [cited by applicant]
US 20220058852A1 · Surti · 2022 [cited by examiner]
Nicholas Wilt, “The CUDA Handbook: A Comprehensive Guide to GPU Programming”, 522 pages, Jun. 2013, Addison-Wesley, USA. [cited by applicant]
Shane Cook, “CUDA Programming: A Developer's Guide to Parallel Computing with GPUs”, 591 pages, 2013, Elsevier, USA. [cited by applicant]
Brucks, Ryan, “Authoring Pseudo Volume Textures,” <shaderbits.com/blog/authoring-pseudo-volume-textures>, Oct. 18, 2016, 8 pages. [cited by applicant]
Andras Fridvalszky, “Optimizing multisample anti-aliasing for deferred renderers”, May 3, 2020, 7 pages, <cescg.org/cescg_submission/optimizing-multisample-anti-aliasing-for-deferred-renderers>, Proceedings of CESCG 202… [cited by applicant]
International Search Report and Written Opinion for Application No. PCT/US2022/022023, mailed Jun. 30, 2022, 7 pages. [cited by applicant]