IP Library Granted Patent US 12,394,010
Granted Patent B2
US 12,394,010 · App. 18/080,592 · Granted Aug 19, 2025

Pipeline delay elimination with parallel two level primitive batch binning

Inventors: Michael John Livesley (Milton Keynes, GB); Ruijin Wu (Irvine, CA)
Assignee: Advanced Micro Devices, Inc.
G06T1/20G06T17/10
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,394,010
App. No.
18/080,592
Granted
Aug 19, 2025
Kind
B2
Abstract

A technique for rendering is provided. The technique includes for a set of primitives processed in a coarse binning pass, outputting early draw data to an early draw buffer; while processing the set of primitives in the coarse binning pass, processing the early draw data in a fine binning pass; and processing remaining primitives of the set of primitives in the fine binning pass.

Claims (37)

1. A system comprising:

a world-space pipeline;

a screen-space pipeline;

an early draw buffer; and

a two-level primitive batch binner configured to:

for a set of primitives processed through the world-space pipeline in a coarse binning pass, output early draw data to the early draw buffer;

while processing the set of primitives in the coarse binning pass, in the world-space pipeline, processing the early draw data in a fine binning pass though the world-space pipeline; and

processing remaining primitives of the set of primitives in the fine binning pass in the world-space pipeline and in the screen-space pipeline.

2. The system of claim 1 , wherein outputting the early draw data comprises identifying early draw primitives of the set of primitives that overlap a first coarse binning tile and outputting the early draw primitives to the early draw buffer.

3. A system, comprising:

an early draw buffer; and

a two-level primitive batch binner configured to:

for a set of primitives processed through a world-space pipeline in a coarse binning pass, output early draw data to an early draw buffer;

while processing the set of primitives in the coarse binning pass, in the world-space pipeline, processing the early draw data in a fine binning pass through the world-space pipeline; and

processing remaining primitives of the set of primitives in the fine binning pass in the world-space pipeline and in a screen-space pipeline.

4. The system of claim 3 , wherein outputting the early draw data comprises identifying early draw primitives of the set of primitives that overlap a first coarse binning tile and outputting the early draw primitives to the early draw buffer.

5. The system of claim 3 , wherein processing the early draw data in the fine binning pass includes identifying which fine binning tiles are overlapped by the early draw data.

6. The system of claim 5 , wherein the two-level primitive batch binner is further configured to process the early draw data in fine binning tile order.

7. The system of claim 3 , wherein the two-level primitive batch binner is further configured to store a guard token in the early draw buffer that indicates the end of the early draw data.

8. The system of claim 7 , wherein the two-level primitive batch binner is further configured to process the remaining primitives in the fine binning pass after detecting the guard token in the early draw buffer.

9. The system of claim 3 , further comprising:

a plurality of rendering pipeline configured to perform the fine binning pass and the coarse binning pass concurrently.

10. The system of claim 3 , wherein outputting the early draw data to the early draw buffer occurs in a manner that allows reading the early draw data without any other data from the coarse binning pass.

11. The system of claim 3 , wherein reading cannot be performed for results of the coarse binning pass, other than the early draw data, when stored in a coarse binning buffer, until all results of the coarse binning pass are output to the coarse binning buffer.

12. A method for rendering, comprising:

for a set of primitives processed through a world-space pipeline in a coarse binning pass, outputting early draw data to an early draw buffer;

while processing the set of primitives in the coarse binning pass, in the world-space pipeline, processing the early draw data in a fine binning pass through the world-space pipeline; and

processing remaining primitives of the set of primitives in the fine binning pass in the world-space pipeline and in a screen-space pipeline.

13. The method of claim 12 , wherein outputting the early draw data comprises identifying early draw primitives of the set of primitives that overlap a first coarse binning tile and outputting the early draw primitives to the early draw buffer.

14. The method of claim 12 , wherein processing the early draw data in the fine binning pass includes identifying which fine binning tiles are overlapped by the early draw data.

15. The method of claim 14 , further comprising processing the early draw data in fine binning tile order.

16. The method of claim 12 , further comprising storing a guard token in the early draw buffer that indicates the end of the early draw data.

17. The method of claim 16 , further comprising processing the remaining primitives in the fine binning pass after detecting the guard token in the early draw buffer.

18. The method of claim 12 , further comprising:

performing the fine binning pass and the coarse binning pass concurrently across a plurality of rendering pipelines.

19. The method of claim 12 , wherein outputting the early draw data to the early draw buffer occurs in a manner that allows reading the early draw data without any other data from the coarse binning pass.

20. The method of claim 12 , wherein reading cannot be performed for results of the coarse binning pass, other than the early draw data, when stored in a coarse binning buffer, until all results of the coarse binning pass are output to the coarse binning buffer.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2023
From: LIVESLEY, MICHAEL JOHN; WU, RUIJIN
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 062509/0134 →
Continuity (2)
Provisional Application 63343467 · May 18, 2022
Related Publication 20230377086A1 · Nov 23, 2023
References Cited (56)
US 5251296A · Rhoden et al. · 1993 [cited by applicant]
US 5371519A · Fisher · 1994 [cited by applicant]
US 5533170A · Teitzel et al. · 1996 [cited by applicant]
US 5886701A · Chauvin et al. · 1999 [cited by applicant]
US 6058405A · Kolte et al. · 2000 [cited by applicant]
US 6222550B1 · Rosman et al. · 2001 [cited by applicant]
US 6229553B1 · Duluk, Jr. et al. · 2001 [cited by applicant]
US 6344852B1 · Zhu et al. · 2002 [cited by applicant]
US 6437780B1 · Baltaretu et al. · 2002 [cited by applicant]
US 6784884B1 · Hsieh · 2004 [cited by applicant]
US 6789421B2 · Baldwin · 2004 [cited by applicant]
US 7170515B1 · Zhu · 2007 [cited by applicant]
US 7224364B1 · Yue et al. · 2007 [cited by applicant]
US 8502829B2 · Howson · 2013 [cited by applicant]
US 9090943B2 · Levy et al. · 2015 [cited by applicant]
US 10991152B2 · He · 2021 [cited by examiner]
US 11972518B2 · Tuomi · 2024 [cited by examiner]
US 20030043171A1 · Fliflet · 2003 [cited by applicant]
US 20030058244A1 · Ramani et al. · 2003 [cited by applicant]
US 20030122815A1 · Deering · 2003 [cited by applicant]
US 20030122819A1 · Koneru et al. · 2003 [cited by applicant]
US 20030174133A1 · Shehane et al. · 2003 [cited by applicant]
US 20040183807A1 · Emberling et al. · 2004 [cited by applicant]
US 20040196283A1 · Lewis et al. · 2004 [cited by applicant]
US 20070146378A1 · Sorgard et al. · 2007 [cited by applicant]
US 20070165035A1 · Duluk, Jr. et al. · 2007 [cited by applicant]
US 20070296725A1 · Steiner et al. · 2007 [cited by applicant]
US 20080100627A1 · Nystad et al. · 2008 [cited by applicant]
US 20080259076A1 · Meinds · 2008 [cited by applicant]
US 20100177105A1 · Nystad et al. · 2010 [cited by applicant]
US 20110148901A1 · Adams et al. · 2011 [cited by applicant]
US 20110216069A1 · Keall et al. · 2011 [cited by applicant]
US 20120280992A1 · Shebanow et al. · 2012 [cited by applicant]
US 20130002663A1 · Howson · 2013 [cited by applicant]
US 20130113799A1 · Woo et al. · 2013 [cited by applicant]
US 20130229414A1 · Gruber · 2013 [cited by applicant]
US 20130271465A1 · Clarberg et al. · 2013 [cited by applicant]
US 20130293544A1 · Schreyer et al. · 2013 [cited by applicant]
US 20140118364A1 · Hakura et al. · 2014 [cited by applicant]
US 20140118380A1 · Hakura et al. · 2014 [cited by applicant]
US 20140139534A1 · Tapply et al. · 2014 [cited by applicant]
US 20140237187A1 · Dimitrov et al. · 2014 [cited by applicant]
US 20140267259A1 · Frascati et al. · 2014 [cited by applicant]
US 20150097857A1 · Akenine-Moller et al. · 2015 [cited by applicant]
US 20150145873A1 · Akenine-Moller et al. · 2015 [cited by applicant]
US 20150170407A1 · Redshaw · 2015 [cited by applicant]
US 20150325037A1 · Lentz et al. · 2015 [cited by applicant]
US 20170132834A1 · He et al. · 2017 [cited by applicant]
US 20170213313A1 · Hakura · 2017 [cited by applicant]
US 20180082399A1 · Martin et al. · 2018 [cited by applicant]
US 20190122417A1 · Mantor et al. · 2019 [cited by applicant]
US 20210225060A1 · Tuomi et al. · 2021 [cited by applicant]
US 20210287418A1 · Acharya et al. · 2021 [cited by applicant]
JP 2003515798T2 · 2003 [cited by applicant]
JP 2008520021T2 · 2008 [cited by applicant]
WO 200137220A1 · 2001 [cited by applicant]