`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 1 of 66 Page|D# 14257
`
`
`EXHIBIT
`B
`
`EXHIBIT
`
`
`
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 2 of 66 PageID# 14258
`Case 3: l4-CV-OO757-REP-DJ N DOCUment 87ml" "mun" mmn‘rnlmflflIlllfllm "llflmmtnlmlll4258
`
`USOO7095414B2
`
`(12) Unlted States Patent
`(10) Patent No.:
`US 7,095,414 B2
`
`Lindholm et al.
`(45) Date of Patent:
`*Aug. 22, 2006
`
`(54) BLENDING SYSTEM AND METHOD IN AN
`INTEGRATED COMPUTER GRAPHICS
`PIPELINE
`
`(75)
`
`Inventors: John Erik Lindholm, Cupertino, CA
`(US); Simon Moy, Mountain View, CA
`(US); David B. Kirk, San Francisco,
`CA (US); Paolo E. Sabella, Pleasanton,
`CA (US)
`
`.
`( * ) Notlce:
`
`.
`.
`(73) ASSlgnee‘ NVIDIA corporatloni sama Clara, CA
`(Us)
`.
`.
`.
`.
`Subject to any d1scla1mer, the term of th15
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 369 days.
`This patent is subject to a terminal dis-
`claimer.
`
`(21) Appl. No.: 10/186,904
`
`(22)
`
`Filed:
`
`Jun. 28, 2002
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`5,025,407 A
`6/1991 Gulley et al.
`............... 364/754
`5,222,202 A
`6/1993 Koyamada .................. 395/123
`5,459,820 A
`10/1995 Schroeder et a1.
`.......... 395/120
`5,694,143 A
`12/1997 Fielder et a1.
`.............. 345/112
`3/1998 Tarolll et a1. ........... 395/523
`5,724,561 A
`
`............. 345/441
`5,801,711 A
`9/1998 Koss et al.
`.............. 345/519
`5,838,337 A
`11/1998 Kimura et al.
`............ 345/418
`5,886,701 A
`3/1999 Chauvin et a1.
`5,956,042 A
`9/1999 Tucker et al. ........... 345/426
`
`11/1999 Vainsencher ............. 345/519
`5,977,997 A
`................ 712/39
`6,000,027 A
`12/1999 Pawate etal.
`
`d)
`(C t'
`on “me
`FOREIGN PATENT DOCUMENTS
`
`EP
`
`0690430(A2)
`
`1/1996
`
`(Continued)
`OTHER PUBLICATIONS
`
`(65)
`
`Prior Publication Data
`US 2003/0112246 A1
`Jun. 19, 2003
`
`Copy of Office Action Summary from US. Appl. No. 09/456,102
`which was mailed on Jan 29, 200i
`
`Related US. Application Data
`(60) Continuation of application No. 09/775,l29, filed on
`Jan. 31, 2001, now Pat. No. 6,734,874, which is a
`division of application No. 09/456,102, filed on Dec.
`6, 1999, now Pat. No. 6,353,439.
`
`(Contmued)
`Prirnary ExamineriKee M’ Tung
`(175215?“ExamineriHagNgUF/‘Enlk K b PC
`(
`)
`llorney,
`gent, or ”mi 1
`a- ota ’
`(57)
`ABSTRACT
`
`(51)
`
`Int. Cl.
`(2006.01)
`G06F 13/14
`(2006.01)
`G06T 1/20
`(2006.01)
`G06T 15/20
`(200601)
`G09G 5/02
`(52) US. Cl.
`...................... 345/519, 345/506; 345/427,
`345/592
`(58) Field of Classification Search ................ 345/519,
`345/531, 522, 501, 503, 426, 427, 419, 620,
`345/592, 561, 506
`See application file for complete search history.
`
`A system and method are provided for a hardware imple-
`mentation of a blending technique during graphics process-
`ing in a graphics pipeline. During processing in the pipeline,
`a plurality of matrices and a plurality of weight values are
`received. Also received is vertex data to be processed. A sum
`of a plurality of products may then be calculated by the
`multiplication oiino Vonox data: one oiino nianiooss and at
`least ono of the weights
`
`30 Claims, 44 Drawing Sheets
`
`
`_—_.....1.3;];........5.;__1
`VAB
`
`
`
`l
`
`Transform
`
`1
`
`
`
`
`Lighting
`57
`
`Rasterizer
`
`
`ii
`1W“_22714Dm2017fi7222222_J
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 3 of 66 PageID# 14259
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 3 of 66 Page|D# 14259
`
`US 7,095,414 B2
`
`Page 2
`
`U.S. PATENT DOCUMENTS
`
`OTHER PUBLICATIONS
`
`6,014,144 A
`6 016 151 A *
`6,057,855 A
`’
`’
`6,097,395 A
`6,137,497 A
`6’144’365 A
`6,163,319 A
`6,166,748 A
`6,175,367 B1
`6,198,488 Bl
`6,417,858 B1 *
`
`.............. 345/426
`1/2000 Nelson et a1.
`1/2000 L'
`.........
`. 345/503
`5/2000 BlaIikans
`345/435
`
`"""
`'
`.
`8/2000 Harrls et al.
`................ 345/426
`10/2000 Strunk et a1.
`............... 345/434
`11/2000 Young et a1. """
`“ 345/153
`12/2000 Peercy et a1.
`.....
`.. 345/426
`12/2000 Van HOOk et 31'
`345/522
`1/2001 Parikh et a1.
`............... 345/426
`3/2001 Lindholm et 3L ---------- 345/426
`7/2002 Bosch et al.
`................ 345/522
`
`
`
`EP
`W0
`WO
`
`FOREIGN PATENT DOCUMENTS
`0690430(A3)
`7/1996
`98/28695
`7/1998
`99/52040
`10/1999
`
`CEPYhOf OfficélAcftion Summary from U~S~APP1~ N°~ 09/775,086
`W 1° was mm 6 0“ Ang' 2’ 2001'
`Copy of Office Action Summary from US. Appl. No. 09/775,086
`which was mailed on Apr. 11 2001.
`.
`’
`COPY 0f Officefi Adm summary from U'S' Appl' NO' 09/775’129
`Wh1ch was ma11ed on Oct. 6, 2003.
`Copy of International Search Report from PCT/US00/33043 mailed
`Apr. 5 2001.
`Copy ofthe Written Opinion from PCT/US00/33043 mailed Jan. 11,
`2002.
`Copy of the International Examination Report from PCT/US00/
`33043 mailed Apr. 8, 2002.
`Copy of the European Search Report from European Application
`00982457.4-1522 mailed Mar. 26, 2004.
`Marc Olano and Trey Greer; “Triangle Scan Conversion Using 2D
`Homogeneous Coordinates”;
`1997, SIGGRAPH/Eurographics
`WOTkShOP
`* cited by examiner
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 4 of 66 PageID# 14260
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 4 of 66 Page|D# 14260
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 1 0f 44
`
`US 7,095,414 B2
`
`DATA
`
`SOURCE
`
`1 2
`
`DISPLAY
`
`VERTEX
`M EMORY
`
`TRANS-
`FORMATION
`
`RENDERING
`
`FIG. 1
`
`(PRIOR ART)
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 5 of 66 PageID# 14261
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 5 of 66 Page|D# 14261
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 2 0f 44
`
`US 7,095,414 B2
`
`22
`
`
`
`Before
`
`22
`
`
`
`After
`
`FIG. 1A
`
`(PRIOR ART)
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 6 of 66 PageID# 14262
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 6 of 66 Page|D# 14262
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 3 of 44
`
`US 7,095,414 B2
`
`3
`
`:
`
`54%
`
`52
`
`
` Transform
`
` SetuD
`
`Rasterizer
` ____.____l2:c.1_t_§_Q_ut-__-_________
`FIG. 1B
`
`Lighting
`
`; i
`
`E
`
`g
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 7 of 66 PageID# 14263
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 7 of 66 Page|D# 14263
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 4 of 44
`
`US 7,095,414 B2
`
`200
`
`/
`
`COMMAND
`
`50
`
`DATA /
`
`204
`
`MODE BITS
`
`
`
`
`
`202
`
`[MIMI-
`
`--IIII
`
`Ian-mm
`
`mmmm
`
`data[0:63]
`data[64:127]
`
`
`205
`
`
`
`FIG. 2
`
`COMMAND
`
`TRANSFORM LIGHTING
`STALL
`STALL
`
`DESCRIPTION
`
`FE2XF_CMD_NOP
`
`
`
`
`NO OPERATION. CAN BE USED AS A SPACER BETWEEN
`COMMANDS.
`
`FE2XF_CMD_VERTEX
`
`READ
`
`READ
`
`VERTEX DATA.
`
`FE2XF_CMD_PASSTHR
`
`PASSTHROUGH. TRANSFORM AND LIGHTING PASS THE
`DATA THROUGH.
`
`
`
`
`READ THE VAB CONTENTS WHEN CONTEXT SWITCHING.
`FE2XF_CMD_RDVAB
`FE2XF_CMD_LDMODE - OAD NEW MODE BITS.
`l'_l_
`FE2XF_CMD_LDXFCTX WRITE - OAD TRANSFORM CONTEXT MEMORY DATA.
`I
`FE2XF_CMD_RDXFCTX -- EAD TRANSFORM CONTEXT MEMORY DATA.
`'—
`WRITE
`FE2XF_CMD_LDLTCTX
`OAD LIGHTING CONTEXT MEMORY DATA.
`l
`m EAD LIGHTING CONTEXT MEMORY DATA.
`l—
`WRITE
`OAD LIGHTING CONTEXTO MEMORY DATA.
`
`-----
`
`FE2XF_CMD_RDLTCTX
`
`FE2XF_CMD_LDLTCO
`
`FE2XF_CMD_RDLTCU
`
`""
`OAD LIGHTING CONTEXTI MEMORY DATA.
`WRITE
`FE2XF_CMD_LDLTCI
`_-- EAD LIGHTING CONTEXT1 MEMORY DATA.
`—
`FE2XF_CMD_LDLTC2
`WRITE
`OAD LIGHTING CONTEXT2 MEMORY DATA.
`
`
`
`
`
`
`”Ll-l
`
`
`I 1
`
`EAD LIGHTING CONTEXTO MEMORY DATA.
`
`l '
`
`----
`
`FE2XF_CMD_RDLT02
`
`EAD LIGHTING CONTEXT2 MEMORY DATA.
`
`OAD LIGHTING CONTEXT3 MEMORY DATA.
`WRITE
`FE2XF_CMD_LTLTC3
`FE2XF_CMD_RDLTC3 m EAD LIGHTING CONTEXTs MEMORY DATA.
`FE2XF_CMD_SYNC
`READ+
`READ+
`SIMILAR TO NOP BUT IS NOT ALLOWED TO BE
`WRITE WRITE
`PROCESSED IN PARALLEL.
`
`
`
`
`
`FIG. 2A
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 8 of 66 PageID# 14264
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 8 of 66 Page|D# 14264
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 5 of 44
`
`US 7,095,414 B2
`
`RECEIVING A PLURALITY OF SETS OF VERTEX ATTRIBUTES IN A
`VERTEX ATTRIBUTE BUFFER FOR BEING PROCESSED, EACH SET
`OF ATTRIBUTES INCLUDING A PLURALITY OF UNIQUE VERTEX
`ATTRIBUTES CORRESPONDING TOA SINGLE VERTEX
`
`
`
`210
`
`STORING THE VERTEX ATTRIBUTES IN THE VERTEX ATTRIBUTE
`BUFFER UPON THE RECEIPT THEREOF
`
`212
`
`MONITORING THE RECEIVED SETS OF VERTEX ATTRIBUTES IN
`ORDER TO DETERMINE WHETHER A RECEIVED VERTEX
`ATTRIBUTE HAS A CORRESPONDING VERTEX ATTRIBUTE OF A
`DIFFERENT SET CURRENTLY STORED IN THE VERTEX ATTRIBUTE
`BUFFER
`
`216
`
`219
`
`TRANSFERRING THE STORED VERTEX
`
`
`ATTRIBUTE TO THE CORRESPONDING
`TRANSFERRING EACH SET OF
`
`
`INPUT BUFFER OF THE PROCESSING
`STORED VERTEX ATTRIBUTES TO A
`
`MODULE OUT OF ORDER UPON IT BEING
`CORRESPONDING ONE OF A
`
`DETERMINED THAT THE STORED VERTEX
`PLURALITY OF INPUT BUFFERS OF
`
`ATTRIBUTE CORRESPONDS TO THE
`A PROCESSING MODULE IN ORDER
`
`RECEIVED VERTEX ATTRIBUTE
`
`
`
`
`
`
`
`
`
`
`
`
`FIG. ZB
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 9 of 66 PageID# 14265
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 9 of 66 Page|D# 14265
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 6 0f 44
`
`US 7,095,414 B2
`
`ADDRESS
`
`
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 10 of 66 PageID# 14266
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 10 of 66 Page|D# 14266
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 7 of 44
`
`US 7,095,414 B2
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`MODE BIT
`
`BITS
`
`DESCRIPTION
`
`
`-_ TEXTURE 0 ENABLE
`TXFG _ TEXTUREGIIIATRIX TRANSFORM ENABLE
`TDVD
`TEXTURED wDNIDE ENABLE
`
`
`
`TEXTURE 1 MATRIX TRANSFORM ENABLE
`
`LIGHTING ENABLE
`
`NORMAL NORMALIZE ENABLE
`
`F
`
`LIGHT STATUS(8LIGHTSBYZBITS EACH,
`0:
`.
`:
`,
`:
`OFF 1 INFINITE 2 LOCAL.3:SPOTI.IGHT)
`
`FOGGEN OONTROLIO; OFF, 1:RADIAL, 2: PLANE)
`
`LIGHTATTENUATION CONTROL (0: INVERT, 1: NO INVERT)
`
`PECULAR COLOR INPUT ENABLE
`
`PECULAR COLOR OUTPUT ENABLE
`
`S S
`
`4
`
`COLOR MATERIAL CONTROL (1: EMISSIVE, 2: AMBIENT, 4:
`DIFFUSE. 8:8PECULAR)
`
`_'
`
`—-l
`
`—I
`
`H
`
`.4
`
`_..‘
`
`_¢
`
`...—|
`
`IS
`
`_'
`
`-—_’
`
`Fri—4
`
`T
`
`I
`LS
`
`F
`
`T
`
`I
`
`I
`
`CM
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`_- POINT PARAMETER ENABLE
`SKIN
`SKINNING ENABLE
`UPAB
`VERTEX PAss ENABLE
`
`FIG. 3
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 11 of 66 PageID# 14267
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 11 of 66 Page|D# 14267
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 8 0f 44
`
`US 7,095,414 B2
`
`VAB
`
`400
`
`"I"IBUFFER
`
`412
`
`52
`
`410
`
`MICRO-CODE
`
`TRANSFORM
`
`CONTEXT
`MEMORY
`
`402 /
`
`FIG. 4
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 12 of 66 PageID# 14268
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 12 of 66 Page|D# 14268
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 9 0f 44
`
`US 7,095,414 B2
`
`START
`
`DETERMINE CURRENT THREAD(T)
`
`420
`
`
`
`
` 424
`
`
`
`
`NEXT CYCLE
`
`GET NEXT INSTRUCTION FOR T# USING CORRESPONDING
`PROGRAM COUNTER (PC#)
`
`422
`
`INJECT INSTRUCTIONS INTO PROCESSING MODULE(S)
`
`FIG. 4A
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 13 of 66 PageID# 14269
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 13 of 66 Page|D# 14269
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 10 0f 44
`
`US 7,095,414 B2
`
`PCO
`
`P01
`
`P02
`
`fl
`
`TH READ #
`
`CURRENTPC#
`
`452
`
`INSTRUCTION
`MEMORY
`
` 454
`
`456
`
`459
`
`457
`
`INSTRUCTION
`DELAY
`
`457
`
`INSTRUCTION
`DELAY
`
`FIG. 4B
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 14 of 66 PageID# 14270
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 14 of 66 Page|D# 14270
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 11 of 44
`
`US 7,095,414 B2
`
`
`
`FIG. 5
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 15 of 66 PageID# 14271
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 15 of 66 Page|D# 14271
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 12 of 44
`
`US 7,095,414 B2
`
`PASS
`
`B[4]
`
`500
`
`—CONTROL BM]
`
`
`Eifiiiilll
`EI“:_-II
`
`PASS
`
`AM]
`
`SIGN BIT
`CONTROL
`
`700
`
`O[4]
`
`FIG. 7
`
`\
`504
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 16 of 66 PageID# 14272
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 16 of 66 Page|D# 14272
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 13 0f 44
`
`US 7,095,414 B2
`
`
`
`FIG. 8
`
`mode
`
`a
`
`clamp
`
`512
`
`ILU
`
`FIG. 9
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 17 of 66 PageID# 14273
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 17 of 66 Page|D# 14273
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 14 of 44
`
`US 7,095,414 B2
`
`ADDRESS
`
`TARGET
`
`ACTION
`
`DESCRIPTION
`
`TPOS
`
`0
`
`TT1
`
`WEV
`
`WLVO
`
`WLV1
`
`WLV2
`WLV3
`WLV4
`WLV5
`WLV6
`WLVY
`WSLO
`
`WSL1
`
`WSL2
`
`WSL3
`
`WSL4
`
`WSLS
`
`WSL6
`
`WSL?
`
`VED
`vmo
`
`VLD1
`
`VL02
`
`VL03
`
`VLD4
`VLDS
`
`VLDS
`
`VLD?
`vco
`v01
`
`VNRM
`
`VEDZ
`
`2 "U
`
`
`
`
`
`AL
`
`U
`
`1. :
`
`-ALUW
`WI3I=ALU VI3I
`WI41=ALU V[41y ALUW
`WBUFFER VBUFFER W5
`ALU, V[5] y ALU w
`WBUFFER VBUFFER W[6
`ALU, V[6] y ALU w
`WBUFFER VBUFFER WIT] ALU VUIy ALU.w
`WBUFFER VBUFFER W[8] ALU V[8]
`ALU.w
`
`LIGHT4 DIRECTION VECTOR
`LIGHT5 DIRECTION VECTOR
`LIGHT6 DIRECTION VECTOR
`LIGHT! DIRECTION VECTOR
`
`Vl01.x=1OVI01.z=ALUw
`
`V[51-x=10 VI5l.z=ALUw
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`V[81-x=10Vl81-2=ALUW
`VBUFFER,TBUFFER V[9]=ALU T[1]=ALU
`
`
`
`
`
`
`___
`
`
`
`
`FIG. 10
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 18 of 66 PageID# 14274
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 18 of 66 Page|D# 14274
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 15 of 44
`
`US 7,095,414 B2
`
`MICROCODE FIELD BITS LOCATION DELAY
`
`DESCRIPTION
`
`
`
`
`
`
`
`2
`
`
`
`3599AN"01 (11
`
`.4 O‘)
`
`—L \l
`
`
`
`1
`
`1
`
`_3 00 N _x
`NN NH
`Ni
`NM030! NM(ON
`iC)
`(.40 _x
`
`n .
`
`
`
`(JO(JO(A)0)01N
`
`4:.N Ao.)
`
`02—
`02—
`
`
`
`FIG. 11
`
`
`
`:m
`
`E
`
`<D)
`
`CCD
`
`0
`
`i}.
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 19 of 66 PageID# 14275
`Case 3:14-cv-OO757-REP-DJN Document 87 2 Filed 04/16/15 Page 19 0f 66 Page|D# 14275
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 16 0f 44
`
`US 7,095,414 B2
`
`.cmfizoo
`
`
`
`EOE:58ng
`
`:55
`
`
`
`20%
`
`mmmmog
`
`m om
`
`wzazmsomm
`
`5282
`
`u E
`
`u
`
`.6528
`
`«55%
`
`momF
`
`mashEtna
`
`lllllllllllllllllllllllllllllllllll
`
`
`
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 20 of 66 PageID# 14276
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 20 of 66 Page|D# 14276
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 17 0f 44
`
`US 7,095,414 B2
`
`RECEIVING A PLURALITY OF MODE BITS INDICATIVE OF THE
`STATUS OFA PLURALITY OF MODES OF PROCESS OPERATIONS
`
`1320
`
`IDENTIFYING A PLURALITY OF ADDRESSES IN MEMORY BASED
`ON THE MODE BITS
`
`1322
`
`ACCESSING THE ADDRESSES IN THE MEMORY FOR RETRIEVING
`CODE SEGMENTS WHICH EACH ARE ADAPTED TO CARRY OUT
`THE PROCESS OPERATIONS IN ACCORDANCE WITH THE STATUS
`OF THE MODES
`
`
`
`1324
`
`EXECUTING THE CODE SEGMENTS WITHIN A TRANSFORM OR
`LIGHTING MODULE FOR PROCESSING VERTEX DATA
`
`1326
`
`FIG. 13
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 21 of 66 PageID# 14277
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 21 of 66 Page|D# 14277
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 18 0f 44
`
`US 7,095,414 B2
`
`1430
`
`
`
`
`
`DECODEMODE
`
`BUS
`
`
`
`CONTROL
`
`VECTOR
`
`THREAD
`
`Il-MODEREG_|_MODEREGII
` 1432
` CURRENT
`
`
`
`
`NEXT
`
`POWTER
`
`HNORHY
`
`ENCODE
`
`1438
`
`1404
`
`FIG. 14
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 22 of 66 PageID# 14278
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 22 of 66 Page|D# 14278
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 19 of 44
`
`US 7,095,414 B2
`
`1440
`
`VECTOR
`
`VECTOR
`OPERATIONS
`
`OPERATIONS
`
`FIG. 14A
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 23 of 66 PageID# 14279
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 23 of 66 Page|D# 14279
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 20 0f 44
`
`US 7,095,414 B2
`
`VECTOR
`
`OPERATIONS
`
`OPERATIONS
`
`SCALAR
`
`FIG. 14B
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 24 of 66 PageID# 14280
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 24 of 66 Page|D# 14280
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 21 of 44
`
`US 7,095,414 B2
`
`I453
`
`VECTOR
`SOURCE
`
`VECTOR
`
`SCALAR
`OPERATIONS
`
`OPERATIONS
`
`DESTINATION
`
`FIG. 14C
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 25 of 66 PageID# 14281
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 25 of 66 Page|D# 14281
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 22 of 44
`
`US 7,095,414 B2
`
`RECEIVING A PLURALITY OF MATRICES, A PLURALITY OF WEIGHT
`VALUES EACH CORRESPONDING WITH ONE OF THE MATRICES,
`AND VERTEX DATA
`
`
`
`
`
`
`CALCULATING A SUM OF A PLURALITY OF PRODUCTS WITH EACH
`PRODUCT CALCULATED BY THE MULTIPLICATION OF THE VERTEX
`DATA, ONE OF THE MATRICES, AND THE WEIGHT
`CORRESPONDING TO THE MATRIX
`
`1470
`
`1472
`
`
`
`OUTPUTI'ING THE SUM OF PRODUCTS FOR ADDITIONAL
`PROCESSING
`
`1474
`
`FIG. 14D
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 26 of 66 PageID# 14282
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 26 of 66 Page|D# 14282
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 23 0f 44
`
`US 7,095,414 B2
`
`MEMORY
`
`MlCRO—CODE
`
`LIGHT/FOG
`
`1501
`
`CONTEXT
`
`FIG. 15
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 27 of 66 PageID# 14283
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 27 of 66 Page|D# 14283
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 24 of 44
`
`US 7,095,414 B2
`
`CONTEXT
`
`MEMORY
`BB]
`
`1616
`
`FIG. 16
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 28 of 66 PageID# 14284
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 28 of 66 Page|D# 14284
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 25 of 44
`
`US 7,095,414 B2
`
`PASS
`
`BIB]
`
`
`
`ALU[3]
`
`AO[3]
`
`
`
`FIG. 19
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 29 of 66 PageID# 14285
`Case 3:14-cv-OO757-REP-DJN Document 87
`-2 Filed 04/16/15 Page 29 0f 66 Page|D# 14285
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 26 0f 44
`
`US 7,095,414 B2
`
`mL_
`
`:698
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 30 of 66 PageID# 14286
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 30 of 66 Page|D# 14286
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 27 0f 44
`
`US 7,095,414 B2
`
`NAME REGISTER
`
`DESCRIPTION
`
`
`
`
`MFLAG
`fl MFLAG
`
`I]
`- MFLAG—
`
`MFLAG
`SPOTLIGHT CONE ATTENUATION FLAG. SET IF SPOTLIGHT CONE
`
`ATTENUATION CONTRIBUTION IS NEGATIVE.
`
`
`
`
`
`
`
`
`SPECULAR FLAG. SET IF SPECULAR CONTRIBUTION IS NEGATIVE.
`RANGE FLAG. SET IF VERTEX IS TOO FAR AWAY FROM THE LIGHT.
`
`FIG. 21
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 31 of 66 PageID# 14287
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 31 of 66 Page|D# 14287
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 28 0f 44
`
`US 7,095,414 B2
`
`MICROCODE FTELD BITS LOCATION
`
`DELAY
`
`DESCRTPTTON
`
`_-——_
`III-“_—
`_--—
`—I-_I_-_
`_—-_I-
`_ll___
`
`
`
`
`11:12 _—
`_ 13:14 _—
`—-___
`_-_EIE-
`awa
`I. 22:26
`-II 27:30 _—
`_---_
`_II 33:38
`
`
`
`
`
`
`
`
`
`
`—_-—Il
`_-_—_
`_EI 45:46
`
`
`
`4:) ——‘HmppmmMM
`CONTEXTO MEMORY ADDRESS
`
`__—l-E_
`51:52
`
`[HIE—_— MACOINPUTBMUX
`M03
`_m MACOINPUTAMUX
`CONTEXT MEMORY READ/WRITE ENABLE
`
`CONTEXT MEMORY ADDRESS
`
`CONTEXT3 MEMORY ADDRESS
`
`CONTEXT2 MEMORY ADDRESS
`
`CONTEXT1 MEMORY ADDRESS
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 32 of 66 PageID# 14288
`Case 3:14-cv-OO757-REP-DJN Document 87
`-2 Filed 04/16/15 Page 32 0f 66 Page|D# 14288
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 29 0f 44
`
`US 7,095,414 B2
`
`IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
`
`amism
`
`bmtzoo
`
`
`
`502%e255:
`
`mmw.mu_“1
`
`mwmmonz
`
`25
`
`0265295
`
`.3802
`
`wow
`
`405.200
`
`”.985
`
`
`
`
`
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 33 of 66 PageID# 14289
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 33 of 66 Page|D# 14289
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 30 0f 44
`
`US 7,095,414 B2
`
`RECEIVING VERTEX DATA IN A BUFFER OFA FIRST SET OF
`BUFFERS, WHEREIN THE BUFFER IN WHICH THE VERTEX DATA IS
`RECEIVED IS BASED ON A ROUND ROBIN SEQUENCE
`
`PROCESSING THE VERTEX DATA IN THE TRANSFORM MODULE
`AFTER THE EMPTY BUFFER OF THE SECOND SET OF BUFFERS IS
`IDENTIFIED
`
`OUTPUTTING THE VERTEX DATA FROM THE TRANSFORM
`MODULE TO THE IDENTIFIED EMPTY BUFFER OF THE SECOND
`SET OF BUFFERS
`
`2420
`
`2422
`
`2424
`
`2426
`
`2428
`
`2430
`
`IDENTIFYING AN EMPTY BUFFER OF A SECOND SET OF BUFFERS
`BASED ON A ROUND ROBIN SEQUENCE, WHEREIN A TRANSFORM
`MODULE IS COUPLED BETWEEN THE FIRST SET OF BUFFERS AND
`THE SECOND SET OF BUFFERS
`
`
`
`IDENTIFYING AN EMPTY BUFFER OF ATHIRD SET OF BUFFERS
`BASED ON A ROUND ROBIN SEQUENCE, WHEREIN A LIGHTING
`MODULE IS COUPLED BETWEEN THE SECOND SET OF BUFFERS
`AND THE THIRD SET OF BUFFERS
`
`PROCESSING THE VERTEX DATA IN THE LIGHTING MODULE
`AFTER THE EMPTY BUFFER OF THE THIRD SET OF BUFFERS IS
`IDENTIFIED
`
`OUTPUTTING THE VERTEX DATA FROM THE LIGHTING MODULE
`TO THE IDENTIFIED EMPTY BUFFER OF THE THIRD SET OF BUFFERS
`
`2432
`
`FIG. 24
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 34 of 66 PageID# 14290
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 34 of 66 Page|D# 14290
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 31 0f 44
`
`US 7,095,414 B2
`
`INPUT
`BUFFERS
`
`400
`
`[ISSUE
`
`52
`
`44441:] [j E]
`
`2550
`
`FIG. 25
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 35 of 66 PageID# 14291
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 35 of 66 Page|D# 14291
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 32 0f 44
`
`US 7,095,414 B2
`
`57
`
`TRAVERSAL
`
`58
`
`
`
`FIG. 258
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 36 of 66 PageID# 14292
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 36 of 66 Page|D# 14292
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 33 of 44
`
`US 7,095,414 B2
`
`OVERALL
`CONTROL
`
`FLOATING
`POINT
`
`DATAPATH
`
`/57
`
`64
`
`63
`
`FORMATIING
`
`PRIMITIVE F
`SEQUENCER
`OUTPUT
`
`EDGE EQUATIONS AND TEXTURE INTERPOLATION
`VALUES TO RASTERIZER
`
`FIG. 26
`
`
`
`FIG. 26A
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 37 of 66 PageID# 14293
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 37 of 66 Page|D# 14293
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 34 0f 44
`
`US 7,095,414 B2
`
`
`RECEIVE TRIANGLE AND COMPUTE LINE EQUATION COEFFICIENTS
`
` MODIFY LINE EQUATION COEFFICIENTS IF ANY TRIANGLE VERTEX(ES)
`
`
`HAVE A NEGATIVE W-COORDINATE
`
`
`
`
`
`2700
`
`
`
`2702
`
`
`
`2705
`
`PROCESS ROW
`
`GOTO JUMP
`POSITION
`
`
`
`
`
`
`2703
`
`JUMP POSITION FOUND?
`
`TRAVERSAL
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 38 of 66 PageID# 14294
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 38 of 66 Page|D# 14294
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 35 of 44
`
`US 7,095,414 B2
`
`2705
`
`P1
`
`P2
`
`2707
`
`P3
`
`P4
`
`FIG. 27A
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 39 of 66 PageID# 14295
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 39 of 66 Page|D# 14295
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 36 0f 44
`
`US 7,095,414 B2
`
`START
`
`COMPUTE SENSE POINTS
`
`£05
`
`2800
`
`NO@ 2801
`
`
`
`YES
`STORE RIGHT-HAND NEIGHBOR RECTANGLE AS SNAP-LOCATION
`
`
`2802
`
`CALCULATE VALUE OF LINE EQNS. AT SENSE POINTS OF RECTANGLE
`
`2812
`
`
`
`
`MOVE
`RECTANGLE
`
`
`LEFT
`CALCULATEAND STOREEJUMP POSITION
`
`
`
`NO
`
`CAN GO DOWN?
`
`
`
`ARE LEFT SENSE
`
`POINTS BOTH OUTSIDE EDGE OF
`THE TRIANGLE?
`
`
`
`NO
`
`IS THERE A
`SNAP LOCATION?
`
`2814
`
`
`
`GOTO SNAP LOCATION
`
`2816
`
`
`
`CALCULATE VALUE OF LINE EQNS. AT SENSE POINTS OF RECTANGLE
`
`2826
`
`
`MOVE
`RECTANGLE
`CAN GO DOWN?
`RIGHT
`
`
`
`
`
`CALCULATE AND STORE JUMP POSITION
`
`
`
`ARE RIGHT SENSE
`
`POINTS BOTH OUTSIDE EDGE OF
`
`THE TRIANGLE?
`
`
`YES
`
`FIG. 28
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 40 of 66 PageID# 14296
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 40 of 66 Page|D# 14296
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 37 0f 44
`
`US 7,095,414 B2
`
`
`
`FIG. 288
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 41 of 66 PageID# 14297
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 41 of 66 Page|D# 14297
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 38 of 44
`
`US 7,095,414 B2
`
`START
`
`FIRST
` DIRECTION
`
` WAS PREVIOUS DIRECTION INA
`
`FIRST OR SECOND DIRECTION?
`
`
`2900
`
`SECOND
`DIRECTION
`
`
`CALCULATE VALUE OF LINE EQNS. AT4 SENSE POINTS OF RECTANGLE
`
`
`
`2906
`
`2904
`
`
`
`ARE SENSE POINTS OF THE FIRST
`REngINgEI-EIETHE
`
`
`
`
`SIDE OF THE RECTANGLE BOTH OUTSIDE
`FIRST
`
`
`
`EDGE OF THE TRIANGLE?
`DIRECTION
`
`
`
`
`
`YES
`
`NO
`CAN GO DOWN?
`
`
`CALCULATE AND STORE JUMP POSITION
`
`YES
`
`2905
`
`2908
`
`
`
`CALCULATE VALUE OF LINE EQNS. AT4 SENSE POINTS OF RECTANGLE
`
`
`
`2914
`
`2912
`
`MOVE THE
`
`RE SENSE POINTS OF THE SECOND
`
`RECTANGLE THE
`
`SIDE OF THE RECTANGLE BOTH OUTSIDE
`
`SECOND
`
`
`EDGE OF THE TRIANGLE?
`
`DIRECTION
`
`
`
`
`
`
`
`
`
`YES
`
`”0
`
`CAN G0 DOWN?
`
`2913
`
` YES
`
`CALCULATE AND STORE JUMP POSITION
`
`2916
`
`mm:
`
`FIG. 29
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 42 of 66 PageID# 14298
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 42 of 66 Page|D# 14298
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 39 of 44
`
`US 7,095,414 B2
`
`
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 43 of 66 PageID# 14299
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 43 of 66 Page|D# 14299
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 40 0f 44
`
`US 7,095,414 B2
`
`START
`
`SET UP
`
`RECEIVE TRIANGLE AND COMPUTE LINE EQUATION COEFFICIENTS
`
`MODIFY LINE EQUATION COEFFICIENTS IF ANY TRIANGLE VERTEX(ES)
`HAVE A NEGATIVE W-COORDINATE
`
`DEFINE AT LEAST ONE BOUNDARY WHICH DIVIDES THE PRIMITIVE
`INTO A PLURALITY OF PORTIONS
`
`3000
`
`
`POSITION A RECTANGLE ON OR NEAR THE TRIANGLE/POLYGON
`
`
`
`3004
`
`3010
`
`3002
`
`
`GOTO
`
`STARTING
`POSITION
`30m
`
`
`
`STARTING POSITION FOR ADJACENT
`PORTION OF THE PRIMITIVE?
`
`
`END
`
`TRAVERSAL
`
`I
`
`;
`I
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 44 of 66 PageID# 14300
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 44 of 66 Page|D# 14300
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 41 of 44
`
`US 7,095,414 B2
`
`START
`
`
`
`
`
`
`
`WAS PREVIOUS MOVEMENT IN A
`FIRST OR SECOND DIRECTION?
`
`3118
`
`FIRST
`DIRECTION
`
`
` NO
`
`
`SECOND
`
`DIRECTION
`
`IS RECTANGLE
`PAST LIMIT?
`
`
`
`
`
`ARE SENSE POINTS OF THE FIRST
`REgTRIIIEGPEHTHE
`
`
`
`
`
`SIDE OF THE RECTANGLE BOTH OUTSIDE
`FIRST
`
`
`
`EDGE OF THE TRIANGLE?
`D|RECTION
`
`
`
`
`
` STORE
`
`STARTING
`POSITION
`
`CALCULATE VALUE OF LINE EQNS. AT SENSE POINTS OF RECTANGLE
`
`NO
`
`CAN GO DOWN?
`
`3119
`
`
`YES
`
`3120
`”0
`CALCULATE AND STOREJUMP POSITION
`
`
`IS RECTANGLE
`
`
`PAST LIMIT?
`
`
`CALCULATE VALUE OF LINE EQNS. AT SENSE POINTS OF RECTANGLE
`
`
`
`
`
`
`MOVE THE
`
`
`‘RE SENSE POINTS OF THE SECOND
`RECTANGLE THE
`
`
`
`SIDE OF THE RECTANGLE BOTH OUTSIDE
`SECOND
`
`
`
`EDGE OF THE TRIANGLE?
`DIRECTION
`
`
`
`
`
`
`STORE
`
`
`STARTING
`POSITION
`
`CAN GO DOWN?
`
`NO
`
`YES
`
`3121
`
`FIG. 31
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 45 of 66 PageID# 14301
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 45 of 66 Page|D# 14301
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 42 of 44
`
`US 7,095,414 B2
`
`3128
`
`3128
`
`3128
`
`
`
`
`
`
`
`
`
`III“--
`
`
`
`
`’----x
`
`
`156
`
`155
`
`153
`
`
`
`
`157
`158
`
`
`VIII-“m—
`m-
`
`
`mm
`”mm
`mm
`
`VIE-MI 183
`223
`
`NNO:
`186
`
`3126
`
`
`
`
`
`
`185
`
`225
`
`
`
`
`
`
`
`
`
`
`
`
`
`“MEIE-
`
`Ii(.04:...)
`
`19
`
`MN(ADMAN
`
`NN—h—xcoma:AOODN
`
`NNNNmmmmNmoco
`
`[\JNNCOLON i(A)A
`
`
`
`240
`241
`
`Non(TI
`199
`239
`YUM 238
`
`------------fll 242
`[HI-“M 245
`246
`
`
`214
`215
`216
`m 213
`
`
`_----M
`21 \l
`
`mum 100
`
`
`I“: 101
`
`
`
`
`
`FIG. 31A
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 46 of 66 PageID# 14302
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 46 of 66 Page|D# 14302
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 43 0f 44
`
`US 7,095,414 B2
`
`
`
`DETERMINING W-VALUES FOR POINTS OF INTERSECTIONS OF
`
` 3200
`THE LINE EQUATIONS
`
`
`3207
`FLIP THE LINE EQUATIONS FOR
`
`
`
`
`THE LINES CONNECTING THE
`FLIP THE LINE EQUATION FOR
`
`
`VERTEX HAVING A POSITIVE W
`THE LINE OPPOSITE THE
`
`
`
`VALUE AND EACH OF THE
`VERTEX HAVING A NEGATIVE W
`
`
`VERTEXES HAVING NEGATIVE W
`VALUE
`
`
`
`VALUES
`
`ONE
`
`
`IS THERE
`A NEGATIVE W?
`
`
`
`FIG. 32
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 47 of 66 PageID# 14303
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 47 of 66 Page|D# 14303
`
`U.S. Patent
`
`Aug. 22, 2006
`
`Sheet 44 of 44
`
`US 7,095,414 B2
`
`
`
`
`
`' FILL "
`FIG. 32C
`
`
`
`Case 3:14-cv-00757-REP-DJN Document 87-2 Filed 04/16/15 Page 48 of 66 PageID# 14304
`Case 3:14-cv-OO757-REP-DJN Document 87-2 Filed 04/16/15 Page 48 of 66 Page|D# 14304
`
`US 7,095,414 B2
`
`1
`BLENDING SYSTEM AND METHOD IN AN
`INTEGRATED COMPUTER GRAPHICS
`PIPELINE
`
`RELATED APPLICATIONS
`
`The present application is a continuation of an application
`filed Jan. 31, 2001 under Ser. No. 09/775,129 now US. Pat.
`No. 6,734,874; which in turn is a divisional of an application
`filed on Dec. 6, 1999 under Ser. No. 09/456,102 now issued
`as US. Pat. No. 6,353,439. The present application is related
`to a patent application filed Jan. 31, 2001 under Ser. No.
`09/775,086. The present application is further related to
`applications entitled “Method, Apparatus and Article of
`Manufacture for Area Rasterization using Sense Points”
`which was filed on Dec. 6, 1999 under Ser. No. 09/455,305,
`“Method, Apparatus and Article of Manufacture for Bous-
`trophedonic Rasterization” which was filed on Dec. 6, 1999
`under Ser. No. 09/454,505, “Method, Apparatus and Article
`of Manufacture for Clip-less Rasterization using Line Equa-
`tion-based Traversal” which was filed on Dec. 6, 1999 under
`Ser. No. 09/455,728, “Transform, Lighting and Rasteriza-
`tion System Embodied on a Single Semiconductor Plat-
`form” which was filed on Dec. 6, 1999 under Ser. No.
`09/454,516, and issued under US. Pat. No. 6,198,488,
`“Method, Apparatus and Article of Manufacture for a Vertex
`Attribute Buffer in a Graphics Processor” which was filed on
`Dec. 6, 1999 under Ser. No. 09/454,525, “Method and
`Apparatus for a Lighting Module in a Graphics Processor”
`which was filed on Dec. 6, 1999 under Ser. No. 09/454,524,
`and “Method, Apparatus and Article of Manufacture for a
`Sequencer in a Transform/Lighting Module Capable of
`Processing Multiple Independent Execution Threads” which
`was filed on Dec. 6, 1999 under Ser. No. 09/456,104, which
`were filed concurrently herewith, and which are all incor-
`porated herein by reference in their entirety.
`
`FIELD OF THE INVENTION
`
`The present invention relates generally to graphics pro-
`cessors and, more particularly, to a transform module of a
`graphics pipeline system.
`
`BACKGROUND OF THE INVENTION
`
`Prior Art FIG. 1 illustrates a general prior art system that
`implements a pipelined graphics processing system. In this
`system, data source 10 generates a stream of expanded
`vertices defining primitives. These vertices are passed, one
`at a time, through pipelined graphic system 12 via vertex
`memory 13 for storage purposes. Once the expanded verti-
`ces are received from the vertex memory 13 into the
`pipelined graphic system 12, the vertices are transformed
`and lit by a transformation module 14 and a lighting module
`16, respectively, and further clipped and set-up for being
`rendered by a rasterizer 18, thus generating rendered primi-
`tives that are then displayed on display device 20.
`During operation, the transform module 14 may be used
`for receiving vertices in model coordinates and transforming
`the three dimensional vertices from their model coordinates
`
`to the two dimensional window where they will ultimately
`be displayed. In order to achieve the transformation, stan-
`dard transform parameters may be employed such as a view
`port, a viewing matrix, a world matrix, a projection matrix
`and so forth.
`
`Together, the foregoing parameters allow geometric trans-
`formations to express the location of an object relative to
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`
`another object, rotate, clip and size various objects, as well
`as change viewing positions, directions, and perspectives in
`the three dimensional scene. Coordinate transformations that
`transform the three dimensional vertices from their model
`
`coordinates to the two dimensional window where they will
`be displayed typically involve one or more of translation,
`rotation and scaling.
`Prior art transform systems typically handle scalar and
`vector values that are generated during the transform process
`separately. For example, a position attribute, i.e. Oi, Y, Z,
`W), may be processed via a vector operator such as multi-
`plier and/or an adder, thus rendering a scalar value. While a
`scalar operator may process such scalar value, it is typically
`not processed again by the vector operator. Until now there
`have been no attempts to integrate the processing of scalar
`and vector forms of processed vertex data during graphics
`pipeline processing.
`Yet another process handled by the transform module 14
`is blending, or “skinning.” Skinning refers to the process of
`adding realism to segmented polygonal objects by blending
`a joint between the objects. Prior Art FIG. 1A illustrates a
`pair of objects 22 before and after skinning is performed.
`Conventionally, the skinning process is carried out using
`a computer program and a general-