throbber
0001
`
`Volkswagen 1002 - Part 1 of 8
`
`

`
`0002
`
`

`
`..r-.
`
`.
`
`:i-
`
`I
`
`:..-rru 4"!
`iii; 5.4 Ahelflll
`
`cu/at/soiii,iiii,liiii|iiii|giiilT
`
`PTOISEIOS (0503)
`Approved [or use iirmugh (‘M1’3£i.'2EIE|3. ONIB 0651-G032
`-
`U.S. Patent and Trademark Orifice. U.S. DEPARTMENT OF COMNERC
`no mans re :uiredtoresn in = ouiiecrnoiinfonnaiion unieesn disla E =v|i I Boonlml numb
`
`No.—me
`"”*""'“' L‘*""‘°’
`"
`3L1';’;".°.et:‘3,:‘.f:1".::;°-r:‘:.!:?;°.E'°°"‘°‘
`
`Under1hePa mark Reducliormci M199
`
`PATENT”l:;'i|=T.TcA1'ioN
`TRANSM|TI'AL
`(ca-uy iioroow nmorumiarbrrei apoiicaiioox under 3? CFR ‘l.53.{b)J
`I
`
`See
`
`APPLICATION ELEMENTS
`MPEP chapter 600 concurring uiimy patent appiicaiion canlianis.
`
`4099533 To;
`
`Cornmiuiomr tor Paum
`
`:3! :t:In1:::InI nwticalion
`‘iuhndm VA 2au_.“5°
`
`1. [Z| Fee Transmiital Form (a.g., PTO!SBi'1'r')
`fsuianrii an arigiraianda aupiibaia brine processing)
`APP"C3l'|l daims Srflall 9|'I1i|1i 5l€lU5-
`393 37 CFR 1.27.
`[T0984 P3995
`Silefiifififlfiofl
`ifarefanao‘ arranges-ienisar forth baiovid
`- Desuipiive ill: of me invention
`- Cross Reierenne Ia Fiaiateu Appiiwtone
`-Siaterri
`l'i1I'
`Fed
`ed H E: D
`- Refarazgat Eesggqulenngce rs:?.fg°.':°1.5.oia.
`or a colnpuner program Iisiing appencix
`- Eiaciigroundoflhe inveniinn
`- Brief Summary of ihe invenifion
`- ariamesaipuion of the Drawings (ifiiiad)
`2313'?‘-17:3 Dmfipmm
`-Abaliaci afthe Disclosure
`
`1
`
`1. CI CD-ROM or CD-R in duplicate, iange table at
`Computer Program (Appendix)
`8, Nucleotide andfor Amino Acid Sequence Submission
`{fag ‘ abfa. 311' ngggssgryj
`a.
`Computer Reader Fon'n (CRF)
`b
`Specification Sequence Usting an:
`.
`i- D CD-ROM or CD-Fl (2 copies): or
`ii. D Paper
`
`‘
`
`c_ I:I srargmanm .,e,1 -,1 -
`ACCOMPANYING APPLICATION PARTS
`
`.
`.
`
`1
`[Tote-‘Sheets [:__Ii
`Drawmeisl (35 U-3-C- 113)
`4-
`IT‘-"*3" 3‘"°°'s 1
`5- 03"‘ °' Dedarafim
`_
`_
`.
`3- E "W9 °"°°‘-'19“ ‘°"9"‘a' °' °°F‘3")
`.
`.
`.
`o. |:| Copy from a poor a[:_m_'fii:aIioi1_ (37 CFR 1.s3(o))
`_
`(I'Of oontrnuationfdwsianai Wilh 50!! 13 completed)
`_
`A
`LEI .
`3‘9"°“. 5"‘*""'?“' °"~"F"°*_1 fleierihg inventortsi
`$fi5'§f;,'§'§;'°a,f:2f3fi,‘f§','F“”“' 3*” 3’ CF"
`
`.
`
`6. El
`
`Aopiicaiion Data Sheet. see '3? CFR 1.70
`
`Assignment Papers (cover sheet & docurnent(s))
`37 cm 3.73(b)Si:atemant
`Power of
`(when there is an assigneej
`Ariaomey
`English Translation Document (ifs
`J
`infoimation Eiisciosure
`Ifilcopies of I03
`Statement (|DS):'PTO-1499
`Citaiions
`pmiminaw Amendment
`Rem"-I Receipt posmard (MpEp 5.33]
`(Should be specificaiiy itemized)
`Ceflified copy of Priority nocumenus)
`fiffarafgn prroniy is ciaimeo)
`Nonpublicaiion Request under 35 u.s.c. 122
`(b)(2](B){i). Auplicant must attach form PTCNSBB5
`gr'li:r*_*¢lJ"V3'E"'-
`
`18. If a CONTINUING APPLICATEON, check appropriate box. and supply the requisite infonnatian beiow andin the firsisenience of ihe
`specification foflawfng the rifle. onn an Application Data Sheet under 3? CFR 1.75:
`
`D cantinuaiion-in-parl (CI?)
`
`of primappiicalion No.: ............................... ..
`Z Divisional
`D continuation
`Ar! i.im'i:00
`Examiner
`Friar application inlbrrnaiianr.
`For CONTINUATION OF DWISIONAL APPS only: The entire disclosure of the prlar application, hum which an nail: or declaraiinn is supplied under Box
`5b. is considered a part of the diachsnra ol lha aconm panylng oortlnualion or rllvisional up piicatiori and is hereby Incorporated by reference.
`The Incorporation gggniz be Milan upon when a portion has been Inadvoruniiy omitted from the submilmrl applicauan parts.
`1 9. CORRESPONDENCE ADDR§§
`,_
`am‘!
`
`D Cusmnrerflumberarfiar Coda Laban‘
`
`code
`
`i
`
`OR E Correspondence adifrees baiouv
`
`-
`
`Address
`
`'
`
`'
`
`:=1_.‘.ll.. 34414
`.
`06112103
`This mllaminn of iniorrr-alion Is required by 37 -
`- 1 .530-.-3. The inrorrnauon is -ulred no oblain or retain a Donafll by the public which is to File (and by me uspro In process)
`an appiioaiion.conrIiaaniiaityisgo~en1od was U.-5.0. 122 and 3? cm 1.1-. This ooiieniion '3 aaiimaisa in rain: 12 ninuras no oompieie. imiuaing gatnunng. preparing. and
`sub-nilllng the oomnienoa application iarm 02 Inc USPTD. Time will vary dapandng upon I|'iB inuwiouai case. Any oommoms on Iho amount of lime you require in complete lhis
`form andior suggaaiion: ior rududng ihis burden. shoild be sannntne chief Inion-naiion officer. us. Patel’! and Trademark ofilce. u.s. Dopariment of commerce. P.o. Box
`1450. Noxandria, VA 22313-1450. DO NOT SEND FEES OR COMPLETED FORMS TO THIS ADDRESS. SEND TO: Mail Stop Pahanl Appliclfiofl. CoI'I'IIlI|C850|'|II' fD|'
`Patents. PD. Ben: 1450. Aloamlflrla. VA 22313-1150.
`ifynu need assistance in can-Waring the form. caii‘ 1'-800-PTO-9199 and seiecr option 2.
`
`1083973
`
`60601
`312-609-500
`
`0003
`
`

`
`so/zi/9ii
`
`for
`Erfecdivo 01lOrl2OD3. Petentfeeeare subjectto annualreviolori.
`
`I
`
`TOTAL AMOUNT OF PEYMENT
`
`862.00
`
`‘!
`MAI:
`
`{Em-.1“
`
`r.-
`
`.»_yn.r=
`
`..n-I‘..-I‘
`
`5:?‘ "W
`.—.'v...a"
`
`-1"
`:1 ii»
`
`P'l'0.'SSi|1'i' [O1-03)
`Approved for use through D4i|'3Dl‘2003. OMB 0551-0032
`U.S. Patent and Tradeniark Office: US. DEPARTMENT OF COMMERCE
`1. n Iection ofinfonnalion unless it disl
`-
`aiid OMB n I number.
`
`—
`
`miner me T
`T
`D0-10o_02_0o53
`
`l
`
`|:|n.....
`
`3. Annrrioi~iAL FEES
`La eEnIlt
`Sn1aIlEntil
`
`Check Ucrecliicarici Ci glf-::_ll' D Other
`Demsafimmnu
`Deposit
`50 0441
`Fee Description
`,.,°,,°m°,‘,',',':
`55 Surcharge - late filing fee or oath
`2051
`_
`Deposit
`_
`.
`.
`.
`Account An 1-echnomgles Inn
`25 :;Ivf:I:rfi|Eeel late plOVIElCiI1fll1lllI"lQ fee or
`2062
`Name
`.
`- Commissioner is aufltorlzod to: check efllhat apply)
`130 N°n'En9h$h specification
`1°53
`130
`1053
`riarga ieeisi indicated iieiow
`Credit anti °V9|'P3it|'|'|9|'|l3
`1812 2.520 1312 2,520 For filing a request for experts reexamination
`ncharge any additional fee{s)dui1ng the pundunisy of this application mm 920
`180‘
`920 gtgilgwcauon of SR prior to
`Dcharee feels) indicated below. rixeevi ier the filinti in
`1305 1340' 1505 1,a4o- Requesting puiaiir.-iiinn OISIR after
`in the above-identified deosii amount.
`E"3""i"'°' “"9"
`1251
`110
`2251
`55 Extension [or reply within first month
`FEE CJILCULATION
`1252
`410
`2252
`295 Exiension for reply within second monih
`1. BASIC FILING FEE
`1253
`930
`2253
`465 Extension for reply iiiiitiiln third month
`
`51"
`
`3.
`
`2001 375
`29.02 155
`2903 259
`good, 375
`2005 an
`
` £
`Utility fiiing fee
`ggstgn fling pm,
`plan; gm-,9 fag
`Reissue fiflng fee
`pro...-355°.-mi fi|ing fea
`
`2254
`1254 1.450
`1255 1370 2255
`
`725 Extension for reply within fourth rriciriih
`935 Extension for reply within fifth month
`
`320
`1401
`320
`1402
`280
`1403
`1451 1,510
`
`2401
`2402
`2403
`1451
`
`160 Noiioe oliitppeal
`160 Filing a brief in support of an appeal
`140 Request for oral hoaring
`1,510 Petition to institute a public use proceeding
`
`SUB-I-O-I-AL (1)
`
`75030
`
`‘I10
`1452
`1453 1.300
`
`2452
`2453
`
`55 Petition to revive - unavoidable
`650 Petilionto revive-unintentional
`
`3501
`2' EXTRA CLAIM FEES FOR UT"'”:e§:L?nRElssUE 1501 1.300
` s fl
`1502 no 2502
`730°
`-20“=
`3‘
`1503
`330
`2503
`E22332:
`l-:l - 3"= El 1'‘E ‘l-07°-£1 1430
`130 Men
`Claims
`liil
`iii
`E 4:1 180?
`50
`U pie Dependent
`1506
`180
`Foo Fee
`For Dncrtggion
`cod, 5:,
`1202
`18
`1201
`34
`1203 23!)
`1204 M
`
`'
`
`Claims in exiceee of Z!
`independent claims in excess are.
`Multiple dependant claim. it not paid
`.. Remus mapendem chime
`over original patent
`"“ Reissue claims in emoese of 20
`and over original patent
`
`550 Utility issue fee (or reissue}
`235 assign issue lee
`315 Plant issueiee
`130 Petitions ioiiie Commissioner
`50 Processing toe under 37 CFR 1.1?[q]
`130 submission or Information Disclosure Stmi
`
`40 Recoidingleach patentassignrrii.-nt per
`props”? (“mas number at pmpamesi
`3?5 Filing a submission eiter lino! rejection
`(37 CFR 1.129(3))
`3:5 For each additional hirention to be
`examined (3? CFR 1.129(o))
`375 Request for Continued Examination {RCE}
`500 Request toreiipaditad examination
`or a design application
`
`SUBTOTAL (3)
`(Complete {itngpiicsoio
`
`3021
`1309
`
`40
`3'50
`
`rso
`
`750
`
`2801
`1302
`1,
`
`SUBTOTAL (2)
`
`-. ,
`
`g ml
`
`niaina fPn7'iO‘Type}
`
`Christopher J. Reckamp
`
`_
`
`34_414
`
`Teieprtane 312-609-7598
`
`WARNING: informa -" on this fonn may been . public. Credit oard inforination should not
`be included on this form. Provide credit card infomtation and authorization on PTO-2033.
`This collection of iiiforrnalion is required by 37 CFR 1.17 and 1.27. The lnforrneiion is required to obtain or retain a benefit by the public which is to file (and by the
`USPTO to process) an application. Confidentiality is governed by 35 U.$.C. 122 and 37 CFR 1.14. This collection is estimated to take 12 minutes to oornpleie.
`iicluding gathering. preparing. and submitting the completed application form to the USPTO. Time with vary depending upon the individual case. Any comments on
`the amount of time you require to complete this town endior suggestions For reducing this burden. should be sent to the Chief intonnation Officer. U.5. Paieril and
`Trademark Oiifice. U.S. Depamuen: of commerce. Washington. DC 20231. DO NOT SEND FEES OR COMPLETED FORMS TO THIS ADDRESS. SEND TO:
`Commissioner for Patients. Washington, Dc 20231.
`" 954914
`iryou need assistance in completing the ram. call l~800~FTO-91.9£If1-800-?'£6-9199] and select option 2.
`
`0004
`
`

`
`-~s= WM arr
`es. "vi ...'._.,l.
`
`,.
`
`J"
`
`am Mr
`Jr J-"
`
`--.-.
`-
`-
`«-~u..-r
`l‘.»..im‘L'mii. 3:31‘ {ii.::§'
`
`_u.-
`
`IN THE UNITED STATES PATENT AND TRADEMARK OFFICE
`
`Applicants: Leather et al.
`
`Serial No.:
`
`Examiner:
`
`Art Group:
`
`Filing Date: June 12, 2003
`
`Docket No: 00100.02.00S3
`
`Title: DIVIDING WORK AMONG MULTIPLE GRAPHICS PIPELINES USING A
`
`SUPER-TILING TECHNIQUE
`
`Mail Stop Patent Application
`Commissioner for patents
`13.0. Box I 450
`.
`memaml va zzmso
`
`Cernfieale ofExpress Man‘
`I hereby certify that this paper is being deposited with the
`United States Pas-:a!.‘1‘ervice “Express Mail Post agree to
`Addressee” service under 37 CFR (.10, on the data
`indicated and is addressed to Mail Stop Patent
`A
`I"
`'
`C "
`P
`,
`.03" I450.
`,::;;:::?:V:*;;;:;::::'J°*
`"
`:*
`Express Mai! No. E V 0633 M627 US.
`a
`1
`It
`Do is
`Winona K. JECJUIJ-II
`
`PRELIMINARY AMENDMENT
`
`Dear Sir:
`
`Prior to examination, Applicants respectfully request that the above-identified application
`
`be amended as follows:
`
`In The Specification:
`
`Please add the following new paragraph directly below the invention title on page 1 of
`
`the specification as follows:
`
`This application claims the benefit of U. S. Provisional Application Ser. No. 60/429,641
`
`filed November 27, 2002, entitled “Dividing Work Among Multiple Graphics Pipelines Using a
`
`Super-Tiling Technique", having as inventors Mark M. Leather and Eric Demers, and owned by
`
`instant assignee.
`
`CHIC AGO!!! 1083968.]
`
`0005
`
`

`
`._
`-.
`-.=“ ,..azr,-.- .|
`
`"'.3_’.’
`51"‘!
`'4.‘ ah." _--..:I
`
`REMARKS
`
`Applicants submit that the specification is fully supported by the original provisional
`
`application, and the claims are fully supported by the originally filed provisional application.
`
`Respectfully submitted,
`
`By: 4 4
`Chris opher J. Rcckamp
`Reg. No. 34,414
`
`Dated: June 12, 2003
`
`Vedder, Price, Kaufman & Kammholz
`222 North Lasalle Street
`Chicago, Illinois 60601
`Telephone: (312) 609-7500
`Facsimile: (312) 609-5005
`
`CHICAGOM I 083958. I
`
`0006
`
`

`
`Li.
`
`9
`
`§"i '3’
`.-.-.... t'J:I..'.!'JJl
`
`'
`
`020053
`
`PATENT APPLICATION
`ATTY. DOCKET NO. 00100.02.0053
`
`IN THE UNITED STATES PATENT AND TRADEMARK OFFICE
`
`FILING OF A UNITED STATES PATENT APPLICATION
`
`DIVIDING WORK AMONG MULTIPLE GRAPHICS PIPELINES
`USING A SUPER-TILING TECHNIQUE
`
`INVENTORS:
`
`Mark M. Leather
`12187 Woodside Drive
`
`Saratoga, California 95070
`
`Eric Demers
`
`901 Sycamore Drive
`Palo Alto, California 94303
`
`ATTORNEY OF RECORD:
`CHRISTOPHER J. RECKAMP
`
`REGISTRATION NO. 34,414
`VEDDER PRICE KAUFMAN & KAMMHOLZ
`222 NORTH LASALLE STREE'I', SUITE 2600
`CHICAGO, ILLINOIS 60601
`PHONE (312) 509-7500
`FAX (312)609-5005
`
`Express Mail Label No.: EV 063310627 US
`Date of Deposit: J une 12, 2003
`
`I hereby certify that this paper is being deposited with the
`U.S. Postal Service “Express Mail Post Office to
`Addressee" service under 37 C.F.R. Section l.l0 on the
`‘Date of Deposit‘, indicated above, and is addressed
`to: Mail Stop Patent Application, Commissioner of Parents,
`P. 0. Box 1450, Alexandria, VA, 22313-1450.
`
`Name of Depositor: Winona K. Jackson
`
`0007
`
`

`
`.1
`
`'i~5i:3l§ _'.I‘-'-”’ 3-" ...
`
`(:51!
`
`020053
`
`DIVIDING WORK AMONG MULTIPLE GRAPHICS PIPELINES USING A
`
`SUPER-TILING TECHNIQUE
`
`RELATED CO—PENDING APPLICATION
`
`[0001]
`
`This is a related application to a co-pending application entitled “Parallel
`
`Pipeline Graphics System” having docket number 010025, having serial number
`
`, having Leather et al. as the inventors, filed on even date,
`
`owned by the same assignee and hereby incorporated by reference in its entirety.
`
`FIELD OF THE INVENTION
`
`[0001]
`
`The present invention generally relates to graphics processing circuitry
`
`and, more particularly, to dividing graphics processing operations among multiple
`
`pipelines.
`
`BACKGROUND OF THE INVENTION
`
`[0002]
`
`Computer graphics systems, set top box systems or other graphics
`
`processing systems typically include a host processor, graphics (including video)
`
`processing circuitry, memory (e.g. frame buffer), and one or more display devices. The
`
`host processor may have a graphics application running thereon, which provides vertex
`
`data for a primitive (e.g. triangle) to be rendered on the one or more display devices to
`
`the graphics processing circuitry. The display device, for example, a CRT display
`
`includes a plurality of scan lines comprised of a series of pixels. When appearance
`
`attributes (e.g. color, brightness, texture) are applied to the pixels, an object or scene is
`
`presented on the display device. The graphics processing circuitry receives the vertex
`
`data and generates pixel data including the appearance attributes which may be presented
`
`on the display device according to a particular protocol. The pixel data is typically
`stored in the frame buffer in a manner that corresponds to the pixels location on the
`
`display device.
`
`[0003]
`
`FIG. 1 illustrates a conventional display device 10, having a screen 12
`
`partitioned into a series of vertical strips 13-18. The strips 13-13 are typically I-4 pixels
`
`in width. In like manner, the frame buffer of conventional graphics processing systems is
`
`partitioned into a series of vertical strips having the same screen space width.
`
`1
`
`0008
`
`

`
`020053
`
`Alternatively, the frame buffer and the display device may be partitioned into a series of
`
`horizontal strips. Graphics calculations, for example, lighting, color, texture and user
`
`viewing information are performed by the graphics processing circuitry on each of the
`
`primitives provided by the host. Once all calculations have been performed on the
`
`primitives, the pixel data representing the object to be displayed is written into the frame
`
`buffer. Once the graphics calculations have been repeated for all primitives associated
`
`with a specific frame, the data stored in the frame buffer is rendered to create a video
`
`signal that is provided to the display device.
`
`[0004]
`
`The amount of time taken for an entire frame of infonnation to be
`
`calculated and provided to the frame buffer becomes a bottleneck in graphics systems as
`
`the calculations associated with the graphics become more complicated. Contributing to
`
`the increased complexity of the graphics calculation is the increased need for higher
`
`resolution video, as well as the need for more complicated video, such as 3-D video. The
`
`video image observed by the human eye becomes distorted or choppy when the amount
`
`of time taken to render an entire frame of video exceeds the amount of time in which the
`
`display device must be refreshed with a new graphic or frame in order to avoid
`
`perception by the human eye. To decrease processing time, graphics processing systems
`
`typically divide primitive processing among several graphics processing circuits where,
`
`for example, one graphics processing circuit is responsible for one vertical strip (eg. 13)
`
`of the frame while another graphics processing circuit is responsible for another vertical
`
`strip (e. g. 14) of the frame. In this manner, the pixel data is provided to the frame buffer
`
`within the required refresh time.
`
`[0005]
`
`Load balancing is a significant drawback associated with the partitioning
`
`systems as described above. Load balancing problems occur, for example. when all of
`
`the primitives 20-23 of a particular objector scene are located in one strip (e.g. strip 13)
`
`as illustrated in FIG. 1. When this occurs, only the graphics processing circuit
`
`responsible strip 13 is actively processing primitives; the remaining graphics processing
`
`circuits are idle. This results in a significant waste of computing resources as at most
`
`only half of the graphics processing circuits are operating. Consequently, graphics
`
`processing system performance is decreased as the system is only operating at a
`
`maximum of fifty percent capacity.
`
`0009
`
`

`
`020053
`
`[0006]
`
`Changing the width of the strips has been employed to counter the system
`
`performance problems. However, when the width of a strip is increased, the load
`
`balancing problem is enhanced as more primitives are located within a single strip;
`
`thereby, increasing the processing required of the graphics processing circuit responsible
`
`for that strip, while the remaining graphics processing circuits remain idle. When the
`
`width of the strip is decreased (e.g. four hits to two bits), cache (e.g. texture cache)
`
`efficiency is decreased as the number of cache lines employed in transferring data is
`
`reduced in proportion to the decreased width of the strip. In either case, graphics
`
`processing system perfonnance is still decreased due to the idle graphics processing
`
`circuits.
`
`[0007]
`
`Frame based subdivision has been used to overcome the performance
`
`problems associated with conventional partitioning systems. In fi-ame based subdivision,
`
`each graphics processor is responsible for processing an entire frame, not strips within the
`
`same frame. The graphics processors then alternate frames. However, frame subdivision
`
`introduces one or more frames of latency between the user and the screen, which is
`
`unacceptable in real-time interactive environments, for example, providing graphics for a
`
`flight simulator application.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[0008]
`
`The present invention and the related advantages and benefits provided
`
`thereby, will be best appreciated and understood upon review of the following detailed
`
`description of a preferred embodiment, taken in conjunction with the following drawings,
`
`where like numerals represent like elements, in which:
`
`[0009]
`
`FIG. 1 is a schematic block diagram of a conventional display partitioned
`
`into several vertical strips:
`
`[0010]
`
`FIG. 2 is a schematic block diagram of a graphics processing system
`
`employing an exemplary multi-pipeline graphics processing circuit according to one
`
`embodiment of the present invention;
`
`[0011]
`
`FIG. 3 is a schematic block diagram of a memory partitioned into an
`
`exemplary super-tile pattern according to the present invention;
`
`0010
`
`

`
`[(1012]
`
`FIG. 4 is a schematic block diagram of a memory partitioned into a super-
`
`tile pattern according to an altemate embodiment of the present invention;
`
`[0013]
`
`FIG. 5 is a schematic block diagram of a.n exemplary multi—pipelinc
`
`graphics processing circuit used in a multi processor configuration according to an
`
`alternate embodiment of the present invention;
`
`[0014]
`
`FIG. 6 is a flow chart of the operations performed by the graphics
`
`processing circuit according to the present invention;
`
`[0015]
`
`FIG. 7 is a diagram illustrating a polygon bounding box to determine
`
`which, if a polygon fits in a tile or super tile; and
`
`[0016]
`
`FIG. 8 is a schematic block diagram of an exemplary rnulti—pipeline
`
`graphics processing circuit used in a multi processor configuration according to an
`
`alternate embodiment of the present invention.
`
`0011
`
`

`
`DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT
`
`[0017]
`
`A multi-pipeline graphics processing circuit includes at least two pipelines
`
`operative to process data in a corresponding tile of a repeating tile pattern, a respective
`
`one of the at least two pipelines is operative to process data in a dedicated tile, wherein
`
`the repeating tile pattern includes a horizontally and vertically repeating pattern of square
`
`regions. The multi-pipeline graphics processing circuit may be coupled to a fiarne bufier
`
`that is subdivided into a replicating pattern of square regions (e.g. tiles), where each
`
`region is processed by a corresponding one of the at least two pipelines such that load
`
`balancing and texture cache utilization is enhanced.
`
`[0018]
`
`A multi-pipeline graphics processing method includes receiving vertex
`
`data for a primitive to be rendered, generating pixel data in response to the vertex data,
`
`detennining the pixels within a set of tiles of a repeating tile pattern to be processed by a
`
`corresponding one of at least two graphics pipelines in response to the pixel data, the
`
`repeating tile pattem including a horizontally and vertically repeating pattern of square
`
`regions, and performing pixel operations on the pixels within the determined set of tiles
`
`by the corresponding one of the at least two graphics pipelines. An exemplary
`
`embodiment of the present invention will now be described with reference to Figures 2-6.
`
`[0019]
`
`FIG. 2 is a schematic block diagram of an exemplary graphics processing
`
`system 30 employing an example of a multi-pipeline graphics processing circuit 34
`
`according to one embodiment of the present invention. The graphics processing system
`
`30 can be implemented with a single graphics processing circuit 34 or with two or more
`
`graphics processing circuits 34, 54. The components and corresponding functionality of
`
`the graphics processing circuits 34, 54 are substantially the same. Therefore, only the
`
`structure and operation of graphics processing circuit 34 will be described in detail. An
`
`alternate embodiment, employing both graphics processing circuits 34 and 54 will be
`
`discussed in greater detail below with reference to FIGS. 4-5.
`
`[0020]
`
`Graphics data 31, for example, vertex data of a primitive (e.g. triangle) 80
`
`(FIG. 3) is transmitted as a series of strips to the graphics processing circuit 34. As used
`
`herein, graphics data 31 can also include video data or a combination of video data and
`
`graphics data. The graphics processing circuit 34 is preferably a portion of a stand-alone
`
`graphics processor chip or may also be integrated with a host processor or other circuit, if
`
`0012
`
`

`
`"1! "El"? mg"
`T! ‘:35.
`P.‘ um! um! 2-13.! Emu than Rial“
`
`020053
`
`desired, or part of a larger system. The graphics data 31 is provided by a host (not
`
`shown). The host may be a system processor (not shown) or a graphics application
`
`running on the system processor.
`In an alternate embodiment, an Accelerated Graphics
`Port (AGP) 32 or other suitable port receives the graphics data 31 from thelhost and
`provides the graphics data 3] to the graphics processing circuit 34 for further processing.
`
`[0021]
`
`The graphics processing circuit 34 includes a first graphics pipeline 101
`
`operative to process graphics data in a first set of tiles as discussed in greater detail
`
`below. The first pipeline 101 includes front end circuitry 35, a scan converter 3?, and
`
`back end circuitry 39. The graphics processing circuit 34 also includes a second graphics
`
`pipeline 102, operative to process graphics data in a second set of tiles as discussed in
`
`greater detail below. The first graphics pipeline 101 and the second graphics pipeline
`
`102 operate independently of one another. The second graphics pipeline 102 includes the
`
`fiont end circuitry 35, a scan converter 40, and back end circuitry 42. Thus, the graphics
`
`processing circuit 34 of the present invention is contigured as a multi-pipeline circuit,
`
`where the back end circuitry 39 of the first graphics pipeline 101 and the back end
`
`circuitry 42 of the second graphics pipeline 102 share the front end circuitry 35, in that
`
`the first and second graphics pipelines 101 and 102 receive the same pixel data 36
`
`provided by the front end circuitry 35. Alternatively, the back end circuitry 39 of the first
`
`graphics pipeline 101 and the back end circuitry 42 of the second pipeline 102 may be
`
`coupled to separate front end circuits. Additionally, it will be appreciated that a single
`
`graphics processing circuit can be configured in similar fashion to include more than two
`
`graphics pipelines. The illustrated graphics processing circuit 34 has the first andisecond
`
`pipelines 101-102 present on the same chip. However, in alternate embodiments, the first
`
`and second graphics pipelines 101-102 may be present on multiple chips interconnected
`
`by suitable communication circuitry or a communication path, for example, a
`
`synchronization signal or data bus interconnecting the respective memory controllers.
`
`|0022|
`
`The front end circuitry 35 may include, for example, a vertex shader, set
`
`up circuitry, rasterizer or other suitable circuitry operative to receive the primitive data 31
`
`and generate pixel data 36 to be further processed by the back end circuitry 39 and 42,
`
`respectively. The front end circuitry 35 generates the pixel data 36 by performing, for
`
`example, clipping, lighting, spatial transformations, matrix operations and rasterizing
`
`0013
`
`

`
`\
`
`operations on the primitive data 31. The pixel data 36 is then transmitted to the
`
`respective scan converters 3? and 40 of the two graphics pipelines 101-102.
`
`[0023]
`
`The scan converter 37 of the first graphics pipeline 101 receives the pixel
`
`data 36 and sequentially provides the position (e.g. x, y) coordinates 60 in screen space of
`
`the pixels to be processed by the back end circuitry 39 by determining or identifying
`
`those pixels of the primitive, for example, the pixels within portions 81-82 of the triangle
`
`80 (FIG. 3) that intersect the tile or set of tiles that the back end circuitry 39 is
`
`responsible for processing. The particular tile(s) that the back end circuitry 39 is
`
`responsible for is determined based on the tile identification data present on the pixel
`
`identification line 38 of the scan converter 37. The pixel identification line 38 is
`
`illustrated as being hard wired to ground. Thus, the tile identification data corresponds to
`
`a logical zero. This corresponds to the back end circuitry 39 being responsible for
`
`processing the tiles labeled “A” (e. g. 72 and 75) in FIG. 3. Although the pixel
`
`identification line 38 is illustrated as being hard wired to a fixed value, it is to be
`
`understood and appreciated that the tile identification data can be programmable data, for
`
`example, from a suitable driver and such a configuration is contemplated by the present
`
`invention and is within the spirit and scope of the instant disclosure.
`
`[0024]
`
`Back end circuitry 39 may include, for example, pixel shaders, blending
`
`circuits, 2-buffers or any other circuitry for perfonning pixel appearance attribute
`
`operations (e. g. color, texture blending, z-buffering) on those pixels located, for example,
`
`in tiles 72, 75 (FIG. 3) corresponding to the position coordinates 60 provided by the scan
`
`converter 37. The processed pixel data 43 is then transmitted to graphics memory 48 via
`
`memory controller 46 for storage therein at locations corresponding to the position
`coordinates 60.
`
`[0025]
`
`The scan converter 40 of the second graphics pipeline 102, receives the
`
`pixel data 36 and sequentially provides position (e.g. x, y) coordinates 61 in screen space
`
`of the pixels to be processed by the back end circuitry 42 by determining those pixels of
`
`the primitive, for example, the pixels within portions 83-84 of the triangle 80 (FIG. 3)
`
`that intersect the tiles that the back end circuitry 42 is responsible for processing. Back
`
`end circuitry 42 tile responsibility is determined based on the tile identification data
`
`present on the pixel identification line 41 of the scan converter fill. The pixel
`
`0014
`
`

`
`identification line 4] is illustrated as being hard wired to Vcc; thus, the tile identification
`
`data corresponds to a logical one. This corresponds to the back end circuitry 42 being
`
`responsible for processing the tiles labeled “B” (e.g. 73-74) in FIG. 3. Although the pixel
`
`identification line 41 is illustrated as being hard wired to a fixed value, it is to be
`understood and appreciated that the tile identification data can be programmable data, for
`
`example, from a suitable driver and such configuration is contemplated by the present
`
`invention and is within the spirit and scope ofthe instant disclosure.
`
`[0026]
`
`Back end circuitry 42 may include, for example, pixel shaders, blending
`
`circuits, 2-butters or any suitable circuitry for performing pixel appearance attribute
`
`operations on those pixels located, for example, in tiles 73 and 74 (FIG. 3) corresponding
`
`to the position coordinates 61 provided by the scan converter 40. The processed pixel
`
`data 44 is then transmitted to the graphics memory 48, via memory controller 46, for
`
`storage therein at locations corresponding to the position coordinates 61.
`
`[0027]
`
`The memory controller 46 is operative to transmit and receive the
`
`processed pixel data 43 -44 from the back end circuitry 39 and 42; transmit and retrieve
`
`pixel data 49 from the graphics memory 43; and in a single circuit implementation,
`
`transmit pixel data 50 for presentation on a suitable display 51. The display 51 may be a
`
`monitor, a CR1‘, a high definition television (HDTV) or any other device or combination
`
`thereof.
`
`[0028]
`
`Graphics memory 48 may include, for example, a frame buffer that also
`
`stores one or more texture maps. Referring to FIG. 3, the frame buffer portion of the
`
`graphics memory 48 is partitioned in a repeating tile pattern of horizontal and vertical
`
`square regions or tiles 72-75, where the regions 72-75 provide a two dimensional
`
`partitioning of the flame buffer portion of the memory 48. Each tile is implemented as a
`
`16 x 16 pixel array. The repeating tile pattem of the frame buffer 48 corresponds to the
`
`partitioning of the corresponding display 51 (FIG. 2). When rendering a primitive (cg.
`
`triangle) 80, the first graphics pipeline 101 processes only those pixels in portions 81, 82
`
`of the primitive 80 that intersects tiles labeled “A", for example, 72 and 7'5, as the back
`
`end circuitry 39 is responsible for the processing of tiles corresponding to tile
`
`identification 0 present on pixel identification line 38 (FIG. 2). In corresponding fashion,
`
`the second graphics pipeline 102 processes only those pixels in portions 83, 84 of the
`
`0015
`
`

`
`primitive 80 that intersects tiles labeled “B", for example 73-74, as the back end circuitry
`
`42 (FIG. 2) is responsible for the processing of tiles corresponding to tile identification 1
`
`present on pixel identification line 41 (FIG. 2).
`
`[0029]
`
`By configuring the flame buffer 48 according to the present invention, as
`
`the primitive data 31 is typically written in strips, the tiles (e.g. 72 and 75) being
`
`processed by the first graphics pipeline 10] and the tiles (e.g. 73 and 74) being processed
`
`by the second graphics pipeline 102 will be substantially equal in size, notwithstanding
`
`the primitive 80 orientation. Thus, the amount of processing perfonned by the first
`
`graphics pipeline 101 and the second graphics pipeline 102, respectively, are
`
`substantially equal; thereby, efiectively eliminating the load balance problems exhibited
`
`by conventional techniques.
`
`‘ [0030]
`
`FIG. 4 is a schematic block diagram of a ti-ame buffer 68 partitioned into a
`
`super-tile pattern according to an alternate embodiment ofthe present invention. Such a
`
`partitioning would be used, for example, in conjunction with a multi-processor
`
`implementation to be discussed below with reference to FIG. 5. As illustrated, the frame
`
`buffer 68 is partitioned into a repeating tile pattern where the tiles, for example, 92-99
`
`that form the repeating tile pattern are the responsibility of and processed by a
`
`corresponding one of the graphics pipelines provided by the muiti-processor
`
`implementation.
`
`[0031]
`
`FIG. 5 is a schematic block diagram of a graphics processing circuit 54
`
`which may be coupled with the graphics processing circuit 34 (FIG. 2), for example, by
`
`the AGP 32 or other suitable port, to form one embodiment of a multi-processor
`
`implementation. The graphics processing circuit 54 is preferably a portion of a stand-
`
`alone graphics processor chip or may also be integrated with a host processor or other
`
`circuit, if desired, or port of a larger system. The multi-processor implementation
`
`exhibits an increased fill rate of, for example, 9.6 billion pixels/sec with a triangle rate of
`
`300 million triangles/sec. This represents a tremendous performance increase as
`
`compared to conventional graphics processing

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket