`Alcorn et al.
`
`[54] SYSTEM FOR MANAGING TEXTURE
`MAPPING DATA IN A COMPUTER
`GRAPHICS SYSTEM
`
`[75]
`
`Inventors: Byron A. Alcorn; Dare) N. Emmot,
`both of Fort Collins, Colo.
`
`[73] Assignee: Hewlett-Packard Company, Palo Alto,
`Calif.
`
`[21] Appl. No.: 920,334
`
`[22] Filed:
`
`Aug. 27, 1997
`
`Related U.S. Application Data
`
`[63] Continuation of Ser. No. 469,051, Jun. 6, 1995, abandoned.
`Int. Cl.6
`..................................................... G06T 15/00
`[51]
`[52] U.S. Cl. .......................... 345/430; 345/501; 345/506;
`345/507
`[58] Field of Search ..................................... 345/419, 420,
`345/429, 430, 501, 506-8
`
`[56]
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`5,097,427
`5,222,205
`5,255,360
`5,276,798
`5,461,712
`5,495,563
`5,544,292
`5,548,709
`5,550,961
`5,553,208
`5,561,745
`5,572,636
`
`3/1992 Lathrop et al. ......................... 395/130
`6/1993 Larson et al. ........................... 395/130
`10/1993 Peaslee et al. .......................... 395/162
`1/1994 Peaslee et al. .......................... 395/162
`10/1995 Chelstowski et al. .. ... ... .... ... ... 395 /164
`2/1996 Winser .................................... 395/130
`8/1996 Winser .................................... 395/130
`8/1996 Hannah et al.
`... ... ... ... .... ... ... ... 395 /164
`8/1996 Chimoto ................................. 395/133
`9/1996 Murata et al. .......................... 395/125
`11/1996 Jackson et al. ......................... 395/119
`11/1996 Sakuraba et al. ....................... 395/130
`
`I lllll llllllll Ill lllll lllll lllll lllll lllll 111111111111111111111111111111111
`US005886706A
`[11] Patent Number:
`[45] Date of Patent:
`
`5,886,706
`Mar. 23, 1999
`
`OTHER PUBLICATIONS
`Akeley, "Reality Engine Grapahics", ACM, Computer
`Graphics Proceedings, Annual Conference Series, 1993.
`Glemot, et al, "The Image Chip for High Performance 3D
`Rendering", IEEE Computer Graphics And Applications,
`Nov. 1992.
`Primary Examiner-Rudolph J. Buchel, Jr.
`[57]
`ABSTRACT
`
`A method and apparatus for managing texture mapping data
`in a computer graphics system, the computer graphics sys(cid:173)
`tem including a host computer, primitive rendering hardware
`and a primitive data path extending between the host com(cid:173)
`puter and the primitive rendering hardware. The host com(cid:173)
`puter passes primitives to be rendered by the system to the
`primitive rendering hardware over the primitive data path.
`The host computer has a main memory that stores texture
`mapping data corresponding to the primitives to be ren(cid:173)
`dered. The primitive rendering hardware includes a local
`texture memory that locally stores the texture mapping data
`corresponding to at least one of the primitives to be ren(cid:173)
`dered. When a primitive passed to the primitive rendering
`hardware is to be rendered, a determination is made as to
`whether its corresponding texture mapping data is in the
`local texture memory. When the texture mapping data cor(cid:173)
`responding to the primitive to be rendered is in the local
`texture memory, the primitive is rendered using its corre(cid:173)
`sponding texture mapping data from the local texture
`memory. When the texture mapping data corresponding to
`the primitive to be rendered is not in the local texture
`memory, the texture mapping data corresponding to the
`primitive to be rendered is downloaded from the host
`computer main memory to the primitive rendering hardware,
`and the primitive is rendered using its corresponding texture
`mapping data downloaded from the main memory. The local
`texture memory may be implemented as a cache.
`
`43 Claims, 25 Drawing Sheets
`
`BUS FR0/'1 2-D CHIP
`
`FRONT
`END
`3-D
`PRl/'1/T/V. PIPELINE
`
`_B_U ........ '5--i INTERFACE
`60
`18
`
`62
`
`PARAMETER
`INTERPOLA TORS
`
`72
`
`70
`
`TILER
`AND
`BOUND
`CK
`
`90
`
`88
`
`74
`
`FB. INTERFACE FIFOS
`
`TO
`
`Tl
`
`T2
`
`T3
`
`T4
`
`92
`TEXEL
`PORT
`
`TEXEL
`CACHE
`ACCESS
`82
`
`SDRAH
`INTER(cid:173)
`FACE
`
`80
`
`84
`
`CACHE
`DIR
`
`76
`
`TEXEL
`INTERPOLA TORS
`
`86
`
`Petitioner Apple Inc. - Exhibit 1005, p. 1
`
`
`
`U.S. Patent
`US. Patent
`
`Mar. 23, 1999
`Mar. 23, 1999
`
`Sheet 1 0f 25
`Sheet 1 of 25
`
`5,886,706
`5,886,706
`
`•
`
`•
`
`•
`
`"'-t-
`~
`
`Q "
`
`~
`~
`Q
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`~
`
`~
`~
`
`~
`
`~
`
`~
`
`~
`
`~
`
`~
`
`~
`
`~
`
`• ~
`• __;
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`~
`
`·~.
`(
`
`•
`~
`,~.
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`.N . •
`"
`I~. •
`~
`,/ •
`•
`•
`•
`'C ~
`(¥3~(~. •
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`k700
`
`,__
`FIG1
`-
`Cl
`u_
`
`~
`~
`
`• _)
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`Petitioner Apple Inc. - Exhibit 1005, p. 2
`
`Petitioner Apple Inc. - Exhibit 1005, p. 2
`
`
`
`.....::. = 0--,
`
`....
`0--,
`00
`00
`....
`Ul
`
`Ul
`N
`0 .....,
`N
`~ .....
`'Jl =(cid:173)~
`
`~ = ......
`~ ......
`~
`•
`\JJ.
`d •
`
`,--
`I 50A
`: LLER
`: ONTRO-ONTRO-ONTRO-ONTRO-ONTRO-
`I F.8.
`I
`I 51A
`I
`1..._,_.....---........ -.-....-____. ---.----'
`54 : ~
`11 vRiM I VRAM
`VRAM
`I FRAME BUFFER BOARD 'M
`~~
`r ~ ::. ::. ::. ::. ::. ::. ::. ::. ::. ::. ::. ::. ::. ::. ::. ::. = = = ~ ----------_5..Bll_ ---~2A_ --------, ~
`~
`ti I
`
`:
`I
`: TEXTURE HAPPING BOARD 12 :
`r-------------------,
`
`/1£/10RY 18
`
`I
`
`!]_
`
`..-------l1 PROCESSOR 19
`
`HAIN HEHORY HOST
`
`17
`
`HAPPING
`-~-:..=-..::_-.=.,--:_:-:_:~:._:-...::....--.....-=...--:.:.._:-:_~---R-ON--T-----~~-1i-'8 ....Jl-r:;:;T£;:::;"X:;:;:TlJi:;-;;'R.::;;:i'£
`
`46
`
`; •·
`
`I
`
`-
`
`ACCELERATOR
`
`GEOMETRY
`
`3-D
`
`:
`___ J._'2_}1_,,4_2A BOARD 10 I
`~A
`:
`
`END
`
`I t6
`I~
`I Cij
`I~
`I
`I
`
`I
`I
`195
`I
`I
`
`r -
`
`DAC
`RAH~:
`
`I
`I
`
`I
`
`60A
`
`=====..<608
`/b~fil T
`
`58D
`
`50E
`LLER
`
`-
`
`50D
`LLER
`
`-
`
`,___.___......, ~
`51D
`
`F.8.
`
`F.B.
`
`VRtiM
`
`VRAM
`
`:
`
`~-------------------------------------------------J
`
`i I 24
`
`:m'
`
`2-D
`
`I 44
`
`50[
`LLER
`
`-
`
`F.B.
`51[
`
`508
`LLER
`
`F.8.
`
`518
`
`17-'RAro;li
`~:
`
`36
`
`3-D
`cJ2C 42.
`IU I ::0
`1L/: I~ ACCELERATOR
`GEOMETRY
`
`3-D
`
`L----------------------~ FIG 2
`: ·40 I ACCELERATOR
`GEONETRY I
`: 34 ~I
`: 3i '8 ACCELERA TOR
`: JO
`GEOMETRY
`
`Petitioner Apple Inc. - Exhibit 1005, p. 3
`
`
`
`.....::. = 0--,
`
`....
`0--,
`00
`00
`....
`Ul
`
`Ul
`N
`0 .....,
`~
`
`~ .....
`'Jl =(cid:173)~
`
`\C
`\C
`'"""'
`\C
`~~
`N
`!"'l
`~
`~
`
`~ = ......
`~ ......
`~
`•
`\JJ.
`d •
`
`54
`
`52A
`
`58A
`
`FIG 2A
`
`Sf)Q
`LLER
`
`5..-10___._---. _ _.___
`
`F.8
`
`2M
`LLER
`ONTRO-ONTRO-ONTRO-ONTR0-
`F.8.
`
`5Q(
`LLER
`
`F.8.
`
`2l!l..
`LLER
`
`F.8.
`
`518
`
`51A
`
`88
`
`11E/10RY
`
`~8
`HAPPING
`TEXTURE
`
`---rd TEXTUREB!1Ef10RY lJBA
`
`HAPPING
`
`46A
`
`..--rh-J
`
`PROCESSOR 19
`HAIN HEHORY HOST
`
`15
`
`11
`
`\401 Af CELERA TOR 1--I -...,._(24
`
`GEOMETRY 1-
`
`34
`
`iQE.
`LLER
`ON TRO(cid:173)
`F.8.
`
`44
`i-
`
`32.D
`388 f CCELERA TOR
`GE0/1ETRY
`
`2-D
`
`3-D
`
`::o
`~
`~
`~
`~
`~
`C")
`
`36
`
`ACCELERA TOR
`GE0/1ETRY
`
`-
`3
`
`11
`
`B.D7C
`LLt.:u:nM
`A rrc::1 c::n A liQ'CJ
`GEOHETRY
`
`3-D
`
`ACCELERATOR
`
`GEOHETRY
`
`3-D
`
`32A 42A
`
`19A "-99
`
`30
`
`95
`
`Petitioner Apple Inc. - Exhibit 1005, p. 4
`
`
`
`.....::. = 0--,
`
`....
`0--,
`00
`00
`....
`Ul
`
`Ul
`N
`0 .....,
`.i;;..
`
`~ .....
`'Jl =(cid:173)~
`
`\C
`\C
`""""
`\C
`~~
`N
`!"l
`~
`~
`
`~ = ......
`~ ......
`~
`•
`\JJ.
`d •
`
`FACE
`INTER-
`SDRAM
`
`ACCESS
`CACHE
`TEXEL
`
`82
`
`94~ I
`
`PORT
`TEXEL
`
`92
`
`~4
`
`... I INTERPOLA TORS
`
`PARAMETER
`
`I
`
`I
`
`62
`
`I END
`FRONT
`
`3-D
`
`86
`
`INTERPOLA TORS
`TEXEL
`
`94, 76
`
`I -i
`
`I
`
`DIR
`CACHE
`
`I •I
`
`I
`
`I BO lr------ll 84
`
`1
`
`FIG 3
`
`T4
`
`T3
`
`T2
`
`Tl
`
`TO
`
`FB. INTERFACE FIFOS
`
`"74
`
`88
`
`90
`
`70
`
`CK
`BOUND
`AND
`TILER
`t
`
`\
`
`I
`72
`
`INTERFACE
`
`60
`
`18
`
`BUS
`
`PRIHITl~t:I PIPELINE
`
`BUS FROM 2-D CHIP
`
`Petitioner Apple Inc. - Exhibit 1005, p. 5
`
`
`
`U.S. Patent
`
`Mar. 23, 1999
`
`Sheet 5 of 25
`
`5,886,706
`
`TEXEL PARAMETER OUTPUT
`
`I
`~~
`i'.::: ~
`'-
`~ ~
`~ ~ td
`C5 ~ Y) Q::
`~~esg::
`a: 8
`l5
`
`es
`<: 8:
`9:~
`V) V)
`
`~ a:
`
`E5
`~[
`~~
`LCj V)
`
`PLANE EOUA T/ON
`INPUT
`
`~
`J
`
`'_/
`
`) -u_
`
`/
`
`Petitioner Apple Inc. - Exhibit 1005, p. 6
`
`
`
`.....::. = 0--,
`
`....
`0--,
`00
`00
`....
`Ul
`
`Ul
`N
`0 .....,
`O'I
`~ .....
`'Jl =(cid:173)~
`
`\C
`\C
`'"""'
`\C
`~~
`N
`!"'l
`~
`~
`
`~ = .....
`~ .....
`~
`•
`\JJ.
`d •
`
`I
`2o4D
`
`<:::> ~
`~ ~
`~ ~
`SDRA/1 D
`
`~ ~
`~ ~
`
`<::::> ~
`
`~ ~
`~ ~
`
`<::::> ~
`
`SDRA/1 B
`
`SDRA/1 A
`
`:
`
`:
`
`I
`
`r---------------., I
`________________________ ,
`204A
`
`r-----------
`INTERRUPT
`JD BYPASS ,-24
`
`84A : I c 200A
`
`2028 204C
`
`I
`
`I
`
`I
`I
`
`I
`I
`
`II
`I
`
`I
`
`: :
`: :
`: :
`
`I
`
`I
`
`r 200D
`
`{
`
`84D :
`
`I
`
`CONTROLLER B
`
`2008
`
`848:
`
`I CONTROLLER [
`200[
`
`I
`I
`
`84C I
`:
`
`I
`
`I I CONTROLLER A I
`
`I
`
`I
`: :2D2C <::::> ~
`,..._ ~
`~ ;;::::
`~ h
`: :
`CtJ ~
`SDRAM C )
`
`FIG 5
`
`4
`'8
`'{
`
`'
`
`I
`
`_,
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`i. -
`
`' ACCESS 82
`
`TEXEL CACHE
`CONTROLLER D ,~ :
`
`TEXTURE INTERPOLAR AND CACHE CONTROLLERJ
`!.------------------------------------~
`; :
`: : 202D )
`
`I
`
`I
`
`92
`78·
`16
`
`(
`
`DIRECTORY
`AND CACHE
`INTERPOLA TOR
`TEXTURE
`
`22
`JD PIPE
`
`TEXEL PORT
`
`94
`
`Petitioner Apple Inc. - Exhibit 1005, p. 7
`
`
`
`U.S. Patent
`US. Patent
`
`Mar. 23, 1999
`Mar. 23, 1999
`
`Sheet 7 0f 25
`Sheet 7 of 25
`
`5,886,706
`5,886,706
`
`cc
`
`:0
`
`Q u
`
`. P
`
`~ • '-.J • ""'( • "-' •
`
`~
`C) .......__ '"'( • "-' • '"'( • "-' •
`
`~Cl:)• C'.::l•QJ• C)•
`c:::::, -- "---- -
`-
`~· '-.J. ~. '-.J.
`
`etitioner Apple Inc. - Exhibit 1005, p. 8
`
`Petitioner Apple Inc. - Exhibit 1005, p. 8
`
`
`
`U.S. Patent
`
`Mar. 23, 1999
`
`Sheet 8 of 25
`
`5,886,706
`
`ADD-l-1-l~==:~ffi_.-r-~~
`DATA-+--(cid:173)
`DATA
`RAS----~
`CAS-,____(cid:173)
`WE CKE - - -1 - - - - i
`DOM ---1--.-
`Ll::::::::::::=~
`
`SD2
`
`SD1
`
`ADD -LJL~~~L-r---.
`DATA - - - - (cid:173)
`DATA
`RAS-----..
`CAS-..__(cid:173)
`WE CKE __ _
`DOM l 111t::!::=:::!lliJ
`
`SD3
`
`SD4
`
`ADD
`DATA
`
`DATA - -
`
`RAS
`CAS
`WE
`CKE
`DOM
`
`I
`I
`
`l_
`I'
`
`~
`
`SD6
`
`c:
`SD5 -
`- -
`rr=
`
`204A
`
`2048
`
`!"\
`04[
`2
`
`ADD
`DATA
`DATA -
`RAS
`CAS
`WE
`CKE
`DOM
`
`I
`I
`-
`
`._
`
`-
`I
`11
`
`SD7
`
`c::
`.___
`
`i_ . ,
`
`.---
`
`rr=
`
`""' 04D
`
`2
`
`SDB
`
`FIG 7
`
`Petitioner Apple Inc. - Exhibit 1005, p. 9
`
`
`
`.....::. = 0--,
`
`....
`0--,
`00
`00
`....
`Ul
`
`Ul
`N
`0 .....,
`\C
`~ .....
`'Jl =(cid:173)~
`
`\C
`\C
`'"""'
`\C
`~~
`N
`!"'l
`~
`~
`
`~ = ......
`~ ......
`~
`•
`\JJ.
`d •
`
`FIG 8
`
`DATA
`MEMORY
`
`, I
`
`·
`
`·
`
`210A i I , I 4~ I
`
`: 11E/10RIES
`
`I
`
`I
`
`: TEXEL
`I I I
`I
`
`I
`48
`
`82
`UNIT
`ACCESS
`
`CACHE
`TEXEL
`
`84D
`
`\
`
`84[
`
`......__~ ............
`
`; ADD. fSS
`: CONTROL/
`848 84A 208A 2088 . 11E/10RY
`
`I
`
`DIRECTORY
`CACHE
`I
`c_94
`
`78
`
`-
`
`76
`
`POLA TOR
`INTER-
`TEXEL
`
`RESUL TS
`TEXEL
`
`218.,.---.
`
`28
`
`CHECKER
`BOUNDARY
`TILER/
`
`72
`
`I
`
`I
`
`PARAMETERS
`TEXEL
`
`70
`
`PORT
`TEXEL
`
`Petitioner Apple Inc. - Exhibit 1005, p. 10
`
`
`
`.....::. = 0--,
`
`....
`0--,
`00
`00
`....
`Ul
`
`Ul
`N
`0 .....,
`'"""' c
`~ .....
`'Jl =-~
`
`\C
`\C
`'"""'
`\C
`~~
`N
`!"'l
`~
`~
`
`~ = ......
`~ ......
`~
`•
`\JJ.
`d •
`
`INTERLEAVED ACCESS STREAMS FOR UPPER 8 LOWER MAPS PER CHANNEL
`ACCESSES
`
`9-D
`8-C
`9-8
`10-A
`CHANNEL
`
`ACCESSES
`REDUCED
`
`13
`
`12
`uD4
`
`1A3
`
`11
`
`10
`
`9
`
`uC4
`
`.. A j
`
`182
`
`uA4
`
`181
`
`1[2
`
`1A3
`
`1D2 PER
`
`7 8
`tat
`
`6
`
`4 5
`uD2
`
`SEQUENCE ORDER
`
`uC3
`
`1C1
`
`1 2 3
`1DO
`1CO
`180
`1AO
`
`1A1
`TEXEL STREAl1S FOR FIFO 1
`uD3
`
`1DO
`
`u81
`
`uD1
`uC1
`
`uA1
`
`1A2
`
`181
`
`uA2
`
`uC2
`
`0
`
`FIG 9 I
`
`uDO
`uCO
`u80
`uAO
`
`14-D
`14-C
`14-8
`14-A
`
`TEXEL STREAl1S FOR FIFO 0
`
`uDO 100 uD1 100 uD2 1DO uD2 1D1 uD3 1D1 uD3 101 uD4 1D2
`uCO
`uC1 1C1 uC2 1C1 uC3 1C2 uC4 1C2 uC4 1C2
`u80 180 u80 180 u81 180 u82 181
`u83 181 u83 181 u84 182
`uAO 1AO uA1 1A1 uA1 1A1 uA2 1A2 uA2 1A3 uA3 1A3 uA4 1A3
`
`1CO uC1 1C1
`
`LOWER HAP SAl1PLES
`
`C2 102
`~'i:AJ I 81 I 3&j 82
`
`Pu
`A~ [Bo I A1 rp2P4 )
`co
`
`PJ \I CJ~¥fJ 04 I TRU.JNEAR SAHPLE STREAHS {[5 ,,-P6
`
`A=? "P6
`
`P2 I D? \ AJ , D':J
`
`SAl1PLES
`UPPER HAP'
`
`84
`
`STRIDE ~
`
`DIRECTION
`
`~
`
`C2
`
`co
`
`P1
`
`PO
`
`Petitioner Apple Inc. - Exhibit 1005, p. 11
`
`
`
`.....::. = 0--,
`
`....
`0--,
`00
`00
`....
`Ul
`
`Ul
`N
`
`'"""' 0 .....,
`'"""'
`~ .....
`'Jl =-~
`
`\C
`\C
`'"""'
`\C
`~~
`N
`!"'l
`~
`~
`
`~ = ......
`~ ......
`~
`•
`\JJ.
`d •
`
`--
`• • •
`
`_WRITE
`
`1A 1
`1A o
`
`TEXEL DATA A1
`
`)
`214A1
`
`• -
`•
`•
`•
`•
`WRITE •
`READ -
`
`-
`
`FIG 10
`
`UA1
`UAo
`
`READ -• • • -
`
`--
`•
`•
`•
`•
`•
`•
`•
`•
`•
`
`/ __ READ
`
`TEXEL DATA AO
`
`INTERP. COMMAND
`
`OLD 1
`OLD 0
`NEW 1
`NEWO
`NEW 1
`WRITE __ I NEW 0
`
`-
`
`•
`•
`•
`•
`•
`•
`•
`•
`•
`
`214AO
`
`(
`
`• • • • • • • • • -
`
`1
`0
`
`1
`0
`
`1A 1
`uA 1
`
`1A o
`UAo
`
`• •
`•
`• • •
`• •
`•
`
`-
`
`_READ
`206A
`
`WRITE_ 1 ADDRESS FIFO
`
`CACHE ACCESS A
`
`216)
`
`Petitioner Apple Inc. - Exhibit 1005, p. 12
`
`
`
`U.S. Patent
`US. Patent
`
`Mar. 23, 1999
`Mar. 23, 1999
`
`Sheet 12 0f 25
`Sheet 12 of 25
`
`5,886,706
`5,886,706
`
`TE}? 1
`
`ADDRESS
`
`D:
`F:
`§Q
`
`Q:
`
`FIG11
`(!J -u..
`
`REG/5
`
`Petitioner Apple Inc. - Exhibit 1005, p. 13
`
`Petitioner Apple Inc. - Exhibit 1005, p. 13
`
`
`
`U.S. Patent
`US. Patent
`
`Mar. 23, 1999
`Mar. 23, 1999
`
`Sheet 13 of 25
`Sheet 13 0f 25
`
`5,886,706
`5,886,706
`
`NPGE
`
`0\
`
`"--
`
`----J CJ\
`
`Petitioner Apple Inc. - Exhibit 1005, p. 14
`
`(!J -LL
`
`~ LI) ~
`
`~
`
`i--...
`
`Petitioner Apple Inc. - Exhibit 1005, p. 14
`
`
`
`U.S. Patent
`US. Patent
`
`Mar. 23, 1999
`M
`3,
`
`0
`Sheet 14 of 25
`
`5,886,706
`5,886,706
`
`C')
`..-
`('31-
`(!J -u..
`
`9 L
`
`I.
`
`5gm
`
`~
`°'
`
`<:::'.)
`
`~
`Q§
`
`~
`0\ ~
`~
`Q§
`
`Petitioner Apple Inc. - Exhibit 1005, p. 15
`
`
`
`
`
`s\l\\n\\.-\l\lw-\-.\\F\I\
`
`a\I\I\ml\l\l
`Ml\-\-
`\.‘In-I.Viruuxunwx\.\mmxa.‘
`
`
`m“u“:IxIII\.3fl“wI\I\Iam.\\-\.."“Inaus-
`
`m3%
`
`~
`co
`
`Lr]
`
`~ ~ Lr]
`CJ\
`
`Ella
`YEmu-w
`
`---J
`
`~
`°'
`~
`~
`
`~
`
`~
`
`~
`
`~
`~ a
`0\
`
`
`
`3%NEmom}“EB Tlig
`
`co
`
`”HIV
`
`Petitioner Apple Inc. - Exhibit 1005, p. 15
`
`
`
`
`
`
`U.S. Patent
`US. Patent
`
`Mar. 23, 1999
`Mar. 23, 1999
`
`Sheet 15 of 25
`Sheet 15 0f 25
`
`5,886,706
`5,886,706
`
`3at
`-u..
`
`asks?
`QMEANNESQNkzv‘mNvbQE
`QkzxmvVVQQE\kzwmm.kubum
`
`in5?,
`Inif3"m5?
`
`c::::,
`
`~
`
`It
`
`1--(X)
`
`..
`tX)
`V)
`
`c::::,
`
`c::)
`
`"
`f-~
`..
`~
`V)
`
`c::::,
`~
`Q§
`N
`Cs
`CJ
`o:5
`
`~
`
`~
`
`~
`~
`6
`C)
`~
`
`~
`
`~
`
`It
`
`1--Q;)
`...
`Q;)
`V)
`
`~
`
`C::i'
`"
`f-~
`..
`~
`V)
`
`c::::,
`~
`~
`'.:i
`
`ts
`<:::>
`o5
`
`~
`
`~
`(\§
`"i
`es
`c::,
`~
`
`mnit
`
`Petitioner Apple Inc. - Exhibit 1005, p. 16
`
`Petitioner Apple Inc. - Exhibit 1005, p. 16
`
`
`
`.....::. = 0--,
`
`....
`0--,
`00
`00
`....
`Ul
`
`Ul
`N
`0 .....,
`'"""' O'I
`~ .....
`'Jl =(cid:173)~
`
`\C
`\C
`'"""'
`\C
`~~
`N
`!"'l
`~
`~
`
`~ = ......
`
`~ ......
`~
`•
`\JJ.
`d •
`
`FIG 15
`
`BLOCK 1, BANK 1
`
`ST13 ST12
`
`ST15 ST14
`
`ST11 ST10 ST9 STB
`
`ST5 ST4
`
`ST7 ST6
`
`STO
`
`ST1
`
`ST3 ST2
`
`BLOCK 2, BANK 0
`
`~
`
`ST12 ST13 ST14 ST15
`
`STB ST9 ST10 ST11
`
`ST4 ST5 ST6 ST7
`
`STD ST1 ST2 ST3
`
`Petitioner Apple Inc. - Exhibit 1005, p. 17
`
`
`
`.....::. = 0--,
`
`....
`0--,
`00
`00
`....
`Ul
`
`Ul
`N
`0 .....,
`"'""
`-..J
`~ .....
`'Jl =(cid:173)~
`
`\C
`\C
`"'""
`\C
`~~
`N
`!""l
`~
`~
`
`~ = ......
`~ ......
`~
`•
`\JJ.
`d •
`
`FIG 16
`
`lag[l]
`
`lag{l]
`118"s8
`f9"s9
`1110~10
`1111~11
`
`1117512
`113~13
`1114"'s14
`
`1 1 1 1 1 1 1 0 0 0 0 0 0 0
`1 1 1 1 1 1 0 0 0 0 0 0 0 0
`1 1 1 1 1 0 108 0 0 0 0 0 o lso8
`1 1 1 1 o I 109 108 0 0 0 0 0 }s09 s08
`1 1 1 o I 110 109 108 0 0 0 0 ls10 s09 sOB
`1 1 o I 111 110 109 108 0 0 0 js11 s10 s09 s08
`1 0 112 111 110 109 108 0 0 s12 s11 s10 s09 s08
`0 I 113 112 111 I 10 109 108 0 js13 s12 s11 s10 s09 s08
`114 113 112 111 110 109 108 s14 s13 s12 s11 s10 s09 s08
`
`1
`1
`1
`1
`1
`1
`
`1
`
`1
`
`0
`
`<8
`=8
`9
`10
`11
`12
`
`-
`
`13
`14
`
`15
`
`BANK
`
`T PARAMETER AXIS !1SBs S PARAMETER AXIS HSBs
`
`NUMBER BIT
`HAP HAP
`
`BLOCK TAG {2Z·O}=fTEXTURE ID {7:01 MAP BIT, T {14:8],S{14:8]J
`
`Petitioner Apple Inc. - Exhibit 1005, p. 18
`
`
`
`.....::. = 0--,
`
`....
`0--,
`00
`00
`....
`Ul
`
`Ul
`N
`0 .....,
`"'"" 00
`~ .....
`'Jl =(cid:173)~
`
`\C
`\C
`"'""
`\C
`~~
`N
`!""l
`~
`~
`
`~ = ......
`~ ......
`~
`•
`\JJ.
`d •
`
`FIG 17
`
`END
`
`278
`
`T{7:6]=5TID T !1.-0l
`5[7:6]=/STID 5{1:0]
`YES
`
`END
`
`T{1·6]=5TID T {1.·0]
`5[7:6]=STID 5[1.-0] 1280
`
`272 MAP11S 0-6: 5(7:6}=/STID 5{1} 1
`
`T[7]=5TID T{1]
`t1AP117: 5(7]=/STID 5{1]
`
`/
`270 YES
`
`T{7]=STID Tf 1]
`
`END
`:I
`
`276
`
`NO
`
`t1AP11S 0-6: 5[7:6)=STID 5[1}-0
`
`T[7]=5TID T[1]
`
`I
`
`END
`
`'
`
`i
`
`NO
`
`NO
`
`t1AP110-6: 5{7:6]=Q·1
`t1AP117: 5{7]=0
`
`Tf7}=5TID Tf 1]
`t1AP117: 5{7]=5TID 5[1]
`
`274
`
`HAPtt0-6: 5(1·6]=1.·1
`t1AP11l· 5[7]=1
`
`266
`
`t1AP#5 ~+1: 5[1]=1
`t1AP11S ~-3: 5(3]=1
`HAPttS $-5-5(5]=
`
`t1AP115 1+2· 5[2]·1
`t1AP115 1-4: 5£4]=1
`
`NO
`
`NO
`
`252
`
`INTERP 5[7:0], T[7:0]
`
`5[7:01 T[7:0]=
`
`2TARTtJ c250
`
`Petitioner Apple Inc. - Exhibit 1005, p. 19
`
`
`
`.....::. = 0--,
`
`....
`0--,
`00
`00
`....
`Ul
`
`Ul
`N
`0 .....,
`'"""'
`\C
`~ .....
`'Jl =(cid:173)~
`
`\C
`\C
`'"""'
`\C
`~~
`N
`!"'l
`~
`~
`
`~ = ......
`~ ......
`~
`•
`\JJ.
`d •
`
`SET HRU=O'S
`
`FIG 18
`
`314
`
`SELECT ASSERTED BIT OF BLOCKS_ TO_USE '
`
`FOR REPLACEHENT
`
`YES
`
`COHPLEHENT BLOCKS_BUSY
`SET BLOCKS_ TO_USE=
`SET BLOCKS_BUSY=HRU OR CU I 316
`
`YES
`
`DEASSERT HRU OR CU BITS IN BLOCKS_ TO_USE
`
`306
`
`READ HRU & CU
`
`YES
`
`NO
`
`ASSERT BLOCKS_TO_USE
`
`~TART) 300
`
`Petitioner Apple Inc. - Exhibit 1005, p. 20
`
`
`
`U.S. Patent
`
`Mar. 23, 1999
`
`Sheet 20 of 25
`
`5,886,706
`
`31:9
`8
`UNUSED HALT
`
`7
`INTERRUPT
`ENABLED
`
`350
`
`31:7
`
`5
`UNUSED
`
`1
`UNUSED
`
`0
`LOKI
`
`0
`'NUSED
`
`31.·23
`UNUSED
`
`31.-24
`ALPHA
`
`372..../
`
`32:22
`UNUSED
`
`31:23
`UNUSED
`
`-
`
`PIPE_ TAG REGISTER
`22:0
`BLOCK TAG
`
`23:16
`RED
`
`TEXEL_DA TA REGISTER
`15·8
`GREEN
`374 ../
`376 ../
`TEXEL_ CACHE_ADD REGISTER
`15:0
`
`21.-16
`BLOCK INDEX
`380 ..I
`TEXEL DIR_ TAG REGISTER
`22·0
`
`370 ../
`
`z.n
`BLUE
`
`378 ../
`
`-
`
`-
`
`-
`
`BLOCK ADDRESS
`382 ../
`
`BLOCK TAG
`FIG 19
`
`384 _./
`
`Petitioner Apple Inc. - Exhibit 1005, p. 21
`
`
`
`.....::. = 0--,
`
`....
`0--,
`00
`00
`....
`Ul
`
`Ul
`N
`
`'"""' 0 .....,
`
`N
`~ .....
`'Jl =(cid:173)~
`
`\C
`\C
`'"""'
`\C
`~~
`N
`!"'l
`~
`~
`
`~ = ......
`~ ......
`~
`•
`\JJ.
`d •
`
`DEASSERT HALT
`
`Cf@
`
`418
`
`NO
`
`FIG 20
`
`414
`
`I WRITE TEXEL DATA I
`
`~!
`
`WRITE TEX~L_DIR_TAGL::~
`WRITE TEXELJACHE_ADD ') .
`
`DETERMINE LRU CACHE BLOCK
`
`421
`
`422
`'
`423
`
`WRITE TEXEL_CACHE_ADD
`
`WRITE TEXEL_DIR_ TAG
`
`WRITE TEXEL DA TA
`
`424
`
`RD LOKI 0, tHAL T
`WRITE TEXEL_ CMD
`
`400
`
`START
`
`Petitioner Apple Inc. - Exhibit 1005, p. 22
`
`
`
`.....::. = 0--,
`
`....
`0--,
`00
`00
`....
`Ul
`
`Ul
`N
`0 .....,
`N
`N
`~ .....
`'Jl =(cid:173)~
`
`\C
`\C
`'"""'
`\C
`~~
`N
`!"'l
`~
`~
`
`~ = ......
`~ ......
`~
`•
`\JJ.
`d •
`
`HIT/INDEX
`LR TAG
`
`HIT/INDEX
`LL TAG
`
`HIT/INDEX
`UR TAG
`
`FIG 21
`
`510
`)
`
`COMPARATORS
`LR TAG
`~
`
`....-
`
`509"""'
`
`COHPARA TORS
`LL TAG
`
`.......
`
`COHPARA TORS
`UR TAG
`
`r508
`
`505
`[\
`
`--50;_ 504
`503--
`r
`
`5rfi
`
`DIRECTORY
`
`500
`
`MINI
`
`HIT/INDEX
`UL TAG
`
`I
`
`.--
`
`'
`
`COHPARA TORS
`UL TAG
`
`-
`
`
`-,
`--r
`
`
`
`LR TAG
`LL TAG
`UR TA
`UL TA
`
`50. 7
`
`Petitioner Apple Inc. - Exhibit 1005, p. 23
`
`
`
`U.S. Patent
`US. Patent
`
`Mar. 23, 1999
`Mar. 23, 1999
`
`Sheet 23 0f 25
`Sheet 23 of 25
`
`5,886,706
`5,886,706
`
`(
`
`(
`
`>-
`E
`Q::
`~e -;;::
`~td
`~Q::
`2E
`~
`Q
`
`‘C
`
`..--
`
`FIG22
`
`ts
`~
`~ h:
`:J:
`
`1H/T/INDEX
`
`N
`N
`
`C!J -LL
`
`t2
`2
`~
`~
`~ l:i
`
`64COMP/1RATORS
`
`'-2-
`'C
`
`READ TA6
`
`Petitioner Apple Inc. - Exhibit 1005, p. 24
`
`Petitioner Apple Inc. - Exhibit 1005, p. 24
`
`
`
`.....::. = 0--,
`
`....
`0--,
`00
`00
`....
`Ul
`
`Ul
`N
`0 .....,
`.i;;..
`N
`~ .....
`'Jl =-~
`
`\C
`\C
`'"""'
`\C
`~~
`N
`!"'l
`~
`~
`
`~ = ......
`~ ......
`~
`•
`\JJ.
`d •
`
`COHPARA TOR1
`
`532
`
`ATCH
`
`- H
`
`TAG TAG
`LL LR
`
`TAG TAG
`UR LR
`
`TAG TAG
`UR LL
`
`TAG TAG
`UL LR
`
`TAG TAG
`UL
`LL
`
`TAG TAG
`UL
`UR
`
`FIG 23
`
`HATCH
`
`HATCH
`
`HATCH
`
`HATCH
`
`HATCH
`
`COMPARA TOR I I COMPARA TOR C0!1PARA TOR COHPARA TOR COHPARA TOR
`
`511)
`
`529
`
`528
`
`527
`
`526
`
`Petitioner Apple Inc. - Exhibit 1005, p. 25
`
`
`
`.....::. = 0--,
`
`....
`0--,
`00
`00
`....
`Ul
`
`Ul
`N
`0 .....,
`Ul
`N
`~ .....
`'Jl =(cid:173)~
`
`\C
`\C
`'"""'
`\C
`~~
`N
`!"'l
`~
`~
`
`~ = ......
`
`~ ......
`~
`•
`\JJ.
`d •
`
`G 24
`
`D
`
`[
`
`B
`
`A
`
`11/NI ENTRY
`571
`4 INDEX 504I~ ~
`111NI ENTRY
`~ D -
`~
`3 INDEX 5031-)(
`~ [
`~
`rt;
`~
`r--
`::::-t
`~
`
`~ 111NI ENTRY _ s 8 -
`1 INDEX 501I'-sa A -
`
`_ 111NI ENTRY
`
`-
`
`--i JJ Heb·
`--1 I Rtb I--
`SHIFTER
`BARREL 567 B Rtb I-
`566 A REG't-
`565
`
`.sQ1
`
`\...568
`
`-5 INDEX 5051 -
`
`I -
`
`.__ 111NI ENTRY
`
`2 INDEX5021
`
`'/'1J ~RA-
`
`522
`520.J
`TORS
`CQA~D
`
`J
`561
`
`BLOCK INDEX
`
`-DIRECTORY __ DIRECTORY
`
`HAIN
`
`HAIN
`
`562,-' l
`
`PRIOR 11155
`
`'
`
`541 )
`
`....----TAG COl1P ~
`
`642 ......
`
`..._ __ 111NI ENTRY _
`
`551
`552-~ LR REG
`LL REG
`,._
`~ UR REG
`,__UL RE6
`-CNrL --~ n!R rNTI~
`559,
`& L
`'-5 TAG 505T i-i/~l
`I r555
`
`553
`
`ORCUIT1 c;., r..
`
`57~
`
`11/NI ENTRY
`
`532
`4 == 'fi&~
`.._
`4 -
`5 COl1P
`.._
`__ 11/NI ENTRY _
`'
`.._ --4 COl1P
`54b-....
`'
`4),
`"---3 COl1P
`
`-
`
`11/NI ENTRY
`
`,..,
`~ 1TAG501T
`71/NI tNfRY
`
`-4 TAG 504T
`-3 TA6503T
`
`11/NI ENTRY
`
`-
`
`11/NI EN/Hr
`
`-
`
`2 TA6502T
`NINI tN I Hr
`
`l
`
`I
`
`111NI ENTRY
`
`r:i'44-......
`,;.. 2 COl1P
`
`'
`
`11/NI ENTRY
`
`I
`
`~I-::.
`
`-
`
`1 COl1P
`'
`
`'t. r.,
`~ ei
`
`~ r--:
`~
`=ti
`r-
`
`~ r--:
`~
`r'(cid:173) r-
`
`~
`
`Petitioner Apple Inc. - Exhibit 1005, p. 26
`
`
`
`5,886,706
`
`1
`SYSTEM FOR MANAGING TEXTURE
`MAPPING DATA IN A COMPUTER
`GRAPHICS SYSTEM
`
`CROSS-REFERENCE TO RELATED
`APPLICATION(S)
`
`This is a continuation of application Ser. No. 08/469,051
`filed on Jun. 6, 1995, now abandoned.
`
`FIELD OF THE INVENTION
`
`The present invention relates generally to a texture map(cid:173)
`ping computer graphics system and, more particularly, to a
`cache memory system for storing texture mapping data.
`
`BACKGROUND OF THE INVENTION
`
`Computer graphics systems commonly are used for dis(cid:173)
`playing graphical representations of objects on a two dimen(cid:173)
`sional display screen. Current computer graphics systems
`can provide highly detailed representations and are used in
`a variety of applications.
`In typical computer graphics systems, an object to be
`represented on the display screen is broken down into a
`plurality of graphics primitives. Primitives are basic com(cid:173)
`ponents of a graphics picture and may include points, lines, 25
`vectors and polygons, such as triangles. Typically, a
`hardware/software scheme is implemented to render, or
`draw, on the two-dimensional display screen, the graphics
`primitives that represent the view of one or more objects
`being represented on the screen.
`Typically, the primitives that define the three-dimensional
`object to be rendered are provided from a host computer,
`which defines each primitive in terms of primitive data. For
`example, when the primitive is a triangle, the host computer
`may define the primitive in terms of the x,y,z coordinates of
`its vertices, as well as the R,G,B color values of each vertex.
`Rendering hardware interpolates the primitive data to com(cid:173)
`pute the display screen pixels that are turned on to represent
`each primitive, and the R,G,B values for each pixel.
`Early graphics systems failed to display images in a
`sufficiently realistic manner to represent or model complex
`three-dimensional objects. The images displayed by such
`systems exhibited extremely smooth surfaces absent
`textures, bumps, scratches, shadows and other surface 45
`details present in the object being modeled.
`As a result, methods were developed to display images
`with improved surface detail. Texture mapping is one such
`method that involves mapping a source image, referred to as
`a texture, onto a surface of a three-dimensional object, and 50
`thereafter mapping the textured three-dimensional object to
`the two-dimensional graphics display screen to display the
`resulting image. Surface detail attributes commonly texture
`mapped include color, specular reflection, vector
`perturbation, specularity, transparency, shadows, surface
`irregularities and grading.
`Texture mapping involves applying one or more point
`elements ( texels) of a texture to each point element (pixel)
`of the displayed portion of the object to which the texture is
`being mapped. Texture mapping hardware is conventionally
`provided with information indicating the manner in which
`the texels in a texture map correspond to the pixels on the
`display screen that represent the object. Each texel in a
`texture map is defined by S and T coordinates which identify
`its location in the two-dimensional texture map. For each 65
`pixel, the corresponding texel or texels that map to it are
`accessed from the texture map, and incorporated into the
`
`30
`
`2
`final R,G,B values generated for the pixel to represent the
`textured object on the display screen.
`It should be understood that each pixel in an object
`primitive may not map in one-to-one correspondence with a
`5 single texel in the texture map for every view of the object.
`For example, the closer the object is to the view port
`represented on the display screen, the larger the object will
`appear. As the object appears larger on the display screen,
`the representation of the texture becomes more detailed.
`10 Thus, when the object consumes a fairly large portion of the
`display screen, a large number of pixels is used to represent
`the object on the display screen, and each pixel that repre(cid:173)
`sents the object may map in one-to-one correspondence with
`a single texel in the texture map, or a single texel may map
`15 to multiple pixels. However, when the object takes up a
`relatively small portion of the display screen, a much smaller
`number of pixels is used to represent the object, resulting in
`the texture being represented with less detail, so that each
`pixel may map to multiple texels. Each pixel may also map
`20 to multiple texels when a texture is mapped to a small
`portion of an object. Resultant texel data is calculated for
`each pixel that maps to more than one texel, and typically
`represents an average of the texels that map to that pixel.
`Texture mapping hardware systems typically include a
`local memory that stores data representing a texture asso(cid:173)
`ciated with the object being rendered. As discussed above, a
`pixel may map to multiple texels. If it were necessary for the
`texture mapping hardware to read a large number of texels
`that map to a pixel from the local memory to generate an
`average value, then a large number of memory reads and the
`averaging of many texel values would be required, which
`would be time consuming and would degrade system per(cid:173)
`formance.
`To overcome this problem, a scheme has been developed
`that involves the creation of a series of MIP (multum in
`parvo-many things in a small place) maps for each texture,
`and storing the MIP maps of the texture associated with the
`object being rendered in the local memory of the texture
`40 mapping hardware. A MIP map for a texture includes a base
`map that corresponds directly to the texture map, as well as
`a series of filtered maps, wherein each successive map is
`reduced in size by a factor of two in each of the two texture
`map dimensions. An illustrative example of a set of MIP
`maps is shown in FIG. 1. The MIP (multum in parvo-many
`things in a small place) maps include a base map 100 that is
`eight-by-eight texels in size, as well as a series of maps 102,
`104 and 108 that are respectively four-by-four texels, two(cid:173)
`by-two texels, and one texel in size.
`The four-by-four map 102 is generated by box filtering
`(decimating) the base map 100, such that each texel in the
`map 102 corresponds to an average of four texels in the base
`map 100. For example, the texel 110 in map 102 equals the
`average of the texels 112-115 in map 100, and texels 118 and
`55 120 in map 102 respectively equal the averages of texels
`121-124and125-128 in map 100. The two-by-two map 104
`is similarly generated by box filtering map 102, such that
`texel 130 in map 104 equals the average of texels 110 and
`118-120 in map 102. The single texel in map 108 is
`60 generated by averaging the four texels in map 104.
`Conventional graphics systems generally download, from
`the main memory of the host computer to the local memory
`of the texture mapping hardware, the complete series of MIP
`maps for any texture that is to be used with the primitives to
`be rendered on the display screen. Thus, the texture mapping
`hardware can access texture data from any of the series of
`MIP maps. The determination of which map to access to
`
`35
`
`Petitioner Apple Inc. - Exhibit 1005, p. 27
`
`
`
`5,886,706
`
`3
`provide the texel data for any particular pixel is based upon
`the number of texels to which the pixel maps. For example,
`if the pixel maps in one-to-one correspondence with a single
`texel in the texture map, then the base map 100 is accessed.
`However, if the pixel maps to four, sixteen or sixty-four 5
`texels, then the maps 102, 104 and 108 are respectively
`accessed because those maps respectively store texel data
`representing an average of four, sixteen and sixty-four texels
`in the texture map.
`A pixel may not map directly to any one texel in the
`selected map, and may fall between two or more texels.
`Some graphics systems employ bi-linear interpolation to
`accurately produce texel data when this occurs. If a pixel
`maps into a MIP map between two or more texel entries,
`then the resulting texel data used is a weighted average of
`the closest texel entries. Thus, the texel data corresponding
`to any pixel can be the weighted average of as many as four
`texel entries in a single map. For example, if a pixel maps
`to a location in map 102 indicated at 132, the resulting texel
`data mapping to that pixel would be the weighted average of
`the texels 110 and 118-120.
`Pixels may also not map directly into any one of the maps
`in the series of MIP maps, and may fall between two maps.
`For example, a pixel may map to a number of texels in the
`texture map that is greater than one but less than four. Some
`graphics systems address this situation by interpolating
`between the two closest MIP maps to achieve the resultant
`texel data. For the example above wherein a pixel maps to
`greater than one but less than four texels in the texture map,
`the texel data provided by maps 100 and 102 would be 30
`interpolated to achieve the resultant texel data for the pixel.
`When combined with the above-described interpolation of
`multiple texel entries in a single map, this scheme is known
`as tri-linear interpolation, and can lead to resultant texel data
`for any one pixel being generated as a weighted average of 35
`as many as eight texels, i.e., the four closest texels in each
`of the two closest maps.
`As discussed above, conventional texture mapping sys(cid:173)
`tems download the entire series of MIP maps for any texture
`associated with primitives to be rendered by the system,
`even if some of the MIP maps will not be accessed. The
`downloading of MIP maps that will not be accessed, as well
`as portions of accessed maps that are not used, is a waste of
`the system's resources and reduces its bandwidth.
`Furthermore, some texture mapping systems are pipelined
`so that various operations are performed simultaneously on
`different object primitives. However, a series of MIP maps
`for a texture can be large. Most systems employ a local
`memory that is capable of storing only one such large series
`of MIP maps at a time. Thus, when there is a switch in the
`texture used in rendering primitives, the system must down(cid:173)
`load a new series of MIP maps. Typically, the data path used
`to load the new texture data into the local memory in the
`texture mapping hardware passes through the system's
`primitive rendering pipeline. Therefore, when a new texture
`is to be mapped, the primitive rendering pipeline must be
`allowed to empty out before the new series of MIP maps can
`be downloaded. Once the series of MIP maps is downloaded,
`the pipeline must again be filled. The necessity of flushing 60
`the primitive rendering pipeline each time a new texture is
`required reduces the system's bandwidth.
`
`SUMMARY OF THE INVENTION
`
`In one illustrative embodiment of the invention, a method
`is provided for managing texture mapping data in a com(cid:173)
`puter graphics system, the computer graphics system includ-
`
`4
`ing a host computer, primitive rendering hardware and a
`primitive data path extending between the host computer
`and the primitive rendering hardware, the host computer
`passing primitives to be rendered by the system to the
`primitive rendering hardware over the primitive data path,
`the host computer having a main memory that stores texture
`mapping data corresponding to the primitives to be
`rendered, the primitive rendering hardware including a local
`texture memory that locally stores the texture mapping data
`10 corresponding to at least one of the primitives to be ren(cid:173)
`dered. In accordance with the illustrative embodiment, the
`method comprises the steps of: (a) when a primitive passed
`to the primitive rendering hardware is to be rendered,
`determining wh